Robot control method and device, robot and computer program product
Through the integrated adaptive flexible control algorithm and sensor data processing technology, the target joints of the robot are controlled to perform target motion, solving the problem of the bionic humanoid robot losing balance when facing external forces, achieving higher stability and safety.
Patent Information
- Application Number
- CN202411975293.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-12-26
AI Technical Summary
Bionic humanoid robots are prone to lose balance when facing external forces, resulting in motion instability or damage to the environment, and the prior art is difficult to provide sufficient stability and safety.
Through the integrated adaptive compliant control algorithm and sensor data processing technology, based on joint induction compliant control, balanced impedance compliant control, real-time collision detection and feedback-based adaptive adjustment mechanism, the target joint of the robot is controlled to perform target motion to adapt to the influence of external forces and move to the target position.
It improves the stability of the robot in a dynamic environment and collision avoidance ability, reduces the damage caused to the robot by external forces, and ensures the safety and balance and stability of the robot when facing external forces.
Smart Images

Figure CN119681884A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application belong to the field of robotics technology, and in particular, relate to a robot control method, device, robot, and computer program product. Background Art
[0002] Bionic humanoid robots are easily disturbed by external forces during operation, and are also prone to collision with obstacles in the environment, causing damage to the robot itself or damage to the external environment. For example, in the process of family companionship or interaction with people, the bionic humanoid robot is pulled by external forces, or collides with obstacles on the route during movement, which can easily cause the robot to lose balance and cause damage to itself or the environment.
[0003] In the prior art, the adverse effects of the above risks on the robot's operation can be reduced through motion or collision detection. At present, the robot's motion or collision detection mainly relies on rigid control and simple sensor systems. When the robot interacts with people, faces complex terrain and dynamic obstacles, or encounters sudden collisions, the application of such systems often fails to provide sufficient stability for the robot and cannot guarantee the robot's safety when facing external forces. Summary of the invention
[0004] In view of this, the embodiments of the present 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] A first aspect of an embodiment of the present application provides a robot control method, comprising:
[0006] When there is an external force acting on the robot, determining a state of the robot in response to the external force;
[0007] Based on the state, a target joint of the robot is controlled to perform a target movement, wherein the target movement is used to adapt to the influence of the external force under the state, and the target movement at least includes a movement of the target joint moving to a target position under the action of the external force.
[0008] A second aspect of an embodiment of the present application provides a robot control device, comprising:
[0009] A determination module, used for determining a state of the robot in response to an external force when there is an external force acting on the robot;
[0010] A control module is used to control the target joint of the robot to perform a target movement based on the state, wherein the target movement is used to adapt to the influence of the external force under the state, and the target movement at least includes the movement of the target joint to the target position under the action of the external force.
[0011] A third aspect of an embodiment of the present application provides a robot, comprising 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 implements the method described in the first aspect above to control the robot.
[0012] A fourth aspect of an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a computer, the method described in the first aspect above is implemented to control the robot.
[0013] A fifth aspect of the embodiments of the present application provides a computer program product, including a computer program. When the computer program is run, the method described in the first aspect above is executed to achieve control of the robot.
[0014] Compared with the prior art, the embodiments of the present application have the following beneficial effects:
[0015] In the embodiment of the present application, by detecting external force and confirming the existence of external force acting on the robot, the current state of the robot when responding to the external force can be determined, and based on the state, the target joint of the robot is controlled to perform the target movement, so that the target joint can adapt to the influence of the external force in the current state, and thus move to the target position under the action of the external force. In this way, the robot can move in a targeted manner according to the target position corresponding to external forces of different sizes or types, thereby ensuring that the movement process is adapted to the external force, minimizing the damage caused to the robot itself by the external force, and improving the stability and safety of the robot when facing the external force. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or prior art descriptions. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0017] Figure 1 is a schematic diagram of a robot control method provided in an embodiment of the present application;
[0018] Figure 2is a schematic diagram of an external force detection process provided in an embodiment of the present application;
[0019] Figure 3 is a schematic diagram of a possible implementation of S102 in a robot control method provided in an embodiment of the present application;
[0020] Figure 4 is a schematic diagram of another possible implementation of S102 in a robot control method provided in an embodiment of the present application;
[0021] Figure 5 is a schematic diagram of another possible implementation of S102 in a robot control method provided in an embodiment of the present application;
[0022] Figure 6 is a schematic diagram of a robot control process provided by an embodiment of the present application;
[0023] Figure 7 is a schematic diagram of a collision detection process provided by an embodiment of the present application;
[0024] Figure 8 is a schematic diagram of a robot control device provided in an embodiment of the present application;
[0025] Fig. 9 It is a schematic diagram of the structure of a robot provided in an embodiment of the present application. DETAILED DESCRIPTION
[0026] In the following description, specific details such as specific system structures, technologies, etc. are proposed for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from hindering the description of the present application.
[0027] When a robot is working in a complex environment or interacting with humans, it may be interfered with by external human forces, or collide with obstacles in the environment, causing damage to the robot itself or the external environment, or causing the robot to lose balance.
[0028] In response to the above problems, an embodiment of the present application provides a robot control method, which integrates an adaptive compliance control algorithm and sensor data processing technology, based on joint admittance compliance control, balanced impedance compliance control, real-time collision detection and a feedback-based adaptive adjustment mechanism, to ensure the robot's compliance, safety, and balanced stability in complex environments, and can effectively improve the robot's stability and collision avoidance ability in a dynamic environment.
[0029] Specifically, the robot control method provided in the embodiment of the present application can ensure that the robot achieves smooth, safe and balanced performance in various complex actions and interactions through joint admittance compliance control, hip joint balance impedance control and motion touch detection and stop control. Taking the bionic humanoid robot as an example, the legs of the bionic humanoid robot can move with external forces during interaction with people. This method can achieve zero-force dragging of the robot through adaptive compliance admittance control of leg joints. The bionic humanoid robot can support a variety of standing postures. This method can adjust the standing posture of the robot in real time, and through joint impedance compliance control, the robot can still remain stable under the action of external forces, while providing a compliant response when pushing back. When performing an action, if the robot is disturbed or collided by external forces, this method can be used to control the robot to stop executing the current action and move along the interference force, and reduce the impact and damage to the robot through compliance control.
[0030] The technical solution of the present application is described below through specific embodiments.
[0031] Reference Figure 1 , shows a schematic diagram of a robot control method provided in an embodiment of the present 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 responding to the external force.
[0033] It should be noted that the method can be applied to a robot, which can be a bionic humanoid robot or a humanoid-like robot, etc. The specific type of the robot is not limited in the embodiments of the present application. Specifically, the control unit or module in the robot can control the response behavior of the robot when facing an external force by executing the various steps of the method provided in the embodiments of the present application, thereby ensuring the stability and safety of the robot.
[0034] In the embodiment of the present application, external force detection can be used to determine whether there is an external force acting on the robot. The external force detection on the robot can be achieved by processing joint data and sensor data.
[0035] like Figure 2 As shown, it is a schematic diagram of an external force detection process provided by an embodiment of the present application. Figure 2When the process shown in the figure performs external force detection, the joint data and sensor data of the robot can be monitored in real time during the movement of the robot or when the robot is in a stationary state. The above-mentioned joint data can refer to data such as the joint position of the robot. The above-mentioned sensor data can be obtained by inertial measurement unit (IMU) and force sensor detection. Therefore, in one example, the sensor data may include posture data such as joint posture angles detected by IMU and data such as joint torques detected by robot joint force sensors.
[0036] For the joint position obtained by monitoring, the force can be solved in combination with the joint posture angle in the sensor data to obtain the joint torque of the robot. The above-mentioned calculation of the joint torque of the robot based on the joint position and the joint posture angle can be completed by the control unit of the robot, that is, the control unit processes the relevant data to solve the joint torque. Alternatively, it can also be completed by the data processing unit of the robot, and then the solved joint torque is transmitted to the control unit for further processing.
[0037] If the calculated joint torque is significantly different from the joint torque detected by the force sensor, for example, when the difference between the two joint torques is greater than a 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 the external force.
[0038] For example, for a bionic humanoid robot, when it is in motion or in a stationary state, if a user interacts with it, for example, when the user lifts the arm of the bionic humanoid robot or drags the bionic humanoid robot forward, the above external force detection process can be used to determine the existence of external forces acting on the robot. In addition, when the robot collides with obstacles in the environment during motion, corresponding external forces acting on the robot will also be generated, and such external forces can also be detected through the above external force detection process.
[0039] In an embodiment of the present application, the robot's state can be divided into different types according to the robot's movement process or the actual situation when it is in a stationary state, such as a first state, a second state, or a third state, etc. In each state, the robot's behavior may be different.
[0040] Exemplarily, the first state may refer to a state when the robot is in a sitting or lying state, which is the sitting state or lying state of the bionic humanoid robot. The bionic humanoid robot can have usage scenarios such as sitting and lying in a home environment, and the robot is in a sitting state or a lying state at this time. In this state, the robot's legs do not play a supporting role and can be manually dragged to the desired position by the user. The state of the robot in this scenario is also called a zero-force dragging state. In the zero-force dragging state, the robot should remain in the current position when not subject to external force; when subjected to external force, the servos of each joint of the robot should move to the corresponding position according to the current force conditions.
[0041] The second state may refer to the state when the robot is standing, which is the standing state of the bionic humanoid robot. When the robot is standing, if it is disturbed by external force, the external force may cause it to lose balance. The control unit needs to control the robot to remain stable as much as possible and return to a stable standing position. At the same time, the robot may generate a push-back force on the object to which the external force is applied during the process of restoring a stable standing position. The control unit needs to control the robot to have a moderate force when pushing back, so as not to cause collision or other damage to the party applying the force.
[0042] The third state may refer to the state of the robot when performing an action. Different types of robots may perform different actions according to actual needs. In the embodiment of the present application, the states of various types of robots when performing an action may be uniformly classified as the third state.
[0043] Therefore, when there is an external force acting on the robot, the current state of the robot can be determined first. For example, it can be determined whether the robot is in the first state, the second state, or the third state in the above example. In this way, the control unit can control the robot to respond to the external force according to different states, thereby ensuring the stability and safety of the robot.
[0044] S102. Based on the state, control the target joint of the robot to perform a target movement, wherein the target movement is used to adapt to the influence of the external force under the state, and the target movement at least includes the movement of the target joint to a target position under the action of the external force.
[0045] In an embodiment of the present application, for robots in different states, when an external force acting on the robot is detected, the control unit can control the robot to perform corresponding actions, thereby preventing the external force from causing damage to the robot.
[0046] Usually, the robot performs specific actions under the action of related 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 acting on the robot is detected, the control unit can control the target joint of the robot to perform the target movement after determining the current state of the robot, thereby responding to the external force.
[0047] The target joint may be a joint required to produce a specific target action. For example, when the bionic humanoid robot is in a standing state, if it is subjected to an external force of being dragged, in order to respond to the external force, the robot's hip joint needs to be displaced under the drive of the joint servo and follow the external force to reach a specified position. In this example, the target joint includes the robot's hip joint.
[0048] In an embodiment of the present application, the target motion performed by the target joint should at least include the motion of the target joint moving to the target position under the control of the control unit. Depending on the state of the robot, the target position when affected by the external force may also be different. Exemplarily, when the robot is in a first state, such as when the robot is in a sitting state or a lying state, the target position may be the position to which the force-applying party expects the robot to move corresponding to the applied external force; when the robot is in a second state, such as when the robot is in a standing state, the target position may be the position following the applied external force and returning to the initial state not affected by the external force, that is, the original position of the robot at the initial moment when it was acted upon by the external force.
[0049] In the embodiment of the present application, by detecting the external force and confirming that there is an external force acting on the robot, the current state of the robot when responding to the external force can be determined, and based on the state, the target joint of the robot is controlled to perform the target movement, so that the target joint can adapt to the influence of the external force in the current state, and thus move to the target position under the action of the external force. In this way, the robot can move in a targeted manner according to the target position corresponding to the external force of different sizes or types, thereby ensuring that the movement process is adapted to the external force, minimizing the damage caused to the robot itself by the external force, and improving the stability and safety of the robot when facing the external force.
[0050] Next, the process of controlling the target joint of the robot to perform the target motion is introduced respectively according to the different states of the robot when it is subjected to external force.
[0051] In a possible implementation of the embodiment of the present application, 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 a position corresponding to the joint displacement according to the joint speed.
[0054] In the embodiment of the present application, the first state may include a state when the robot is in a sitting position or lying position, that is, the robot is in a sitting position or lying position, and the above-mentioned robot may include a robot that can be in a sitting position or lying position, such as a bionic humanoid robot. The robot in this state may also be referred to as being in a zero-force drag state. In the zero-force drag state, the robot should remain in the current position when not acted upon by an external force. If affected by an external force, the servos of each joint of the robot should move to the corresponding position according to the current force condition.
[0055] In the sitting state or lying state, the robot moves according to the force conditions through the movement of various joints including the robot's 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-damper model, and its dynamic equation can be expressed as:
[0057]
[0058] Among them, F is the external interference force, that is, 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 represents the actual velocity and position of the hip joint in the x direction, v des 、x des represents 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 external force in the zero-force dragging state, v in the above equation is des =0, stiffness parameter K = 0, the above mass-spring-damper model can be further simplified as:
[0060]
[0061] Therefore, the acceleration of the hip joint under the influence of external force can be calculated by the above formula: for:
[0062]
[0063] And further calculate the speed of the hip joint under the influence of external force and displacement Δx are:
[0064]
[0065] Where t is the algorithm control period.
[0066] Therefore, the position of the hip joint under the influence of external force x real_F It can be expressed as:
[0067] x real_F =x real +Δx
[0068] When the robot is in the first state, i.e., the zero-force dragging state, when the external force F = 0, the robot should maintain its current position, i.e., v real =0, through the above formulas, we can calculate that Δx=0, which is consistent with the expected effect.
[0069] The related models and formulas introduced above show the specific algorithm used by the control unit of the robot to control the target joint of the robot to perform the target motion when the robot is affected by the external force in the first state, that is, the specific algorithm of the joint admittance compliance control process. When the robot is in the first state, the control unit can control the target joint to perform the target motion through the joint admittance compliance control, thereby controlling the target joint to follow the external force and move to the target position corresponding to the external force.
[0070] In combination with the above introduction, taking the hip joint as an example, when the robot is in a sitting state or a lying state, the control unit can use the constructed dynamic equation to calculate the joint acceleration of the hip joint under the influence of external force. The above dynamic equation can be constructed based on the mass-spring-damper model. When the robot is in a sitting state or a lying state, the coefficients representing the expected speed and stiffness in the constructed dynamic equation can both be 0; then, the joint speed and joint displacement of the hip joint under the influence of external force can be calculated based on the joint acceleration.
[0071] After calculating the joint speed and joint displacement of the target joint under the influence of the external force, the control unit may execute S1022 to control the corresponding target joint to move to a position corresponding to the joint displacement according to the calculated joint speed.
[0072] It should be noted that when the robot is in the first state, the target joints required to respond to external force may include other joints of the robot in addition to the hip joint, and this embodiment of the present application does not limit this.
[0073] In another possible implementation of the embodiment of the present application, 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. When 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 the embodiment of the present application, the second state may include a state where the robot is in a standing position or in a standing state, that is, the robot is in a standing state. When the robot is standing, if it is disturbed by an external force, the external force may cause the robot to lose balance. At this time, the control of the robot should ensure that the robot can remain as stable as possible and return to a stable standing position, and if a push back occurs during the process, the force is moderate and will not cause impact or damage to the force-applying party.
[0077] When the robot is in the second state, ie, the standing state, the target joint that responds to the external force may also include a hip joint.
[0078] Taking the hip joint as an example, in the x direction, in order to maintain balance and stability, the control unit records the current position x des It can be used as the expected position, that is, the robot in the second state should return to the initial position after being acted upon by external force. In this process, the hip joint balance impedance control is used to perform compliant control on the robot, and its dynamic model can be equivalent to the mass-spring-damper model, and the corresponding dynamic equation can be expressed as:
[0079]
[0080] Among them, F is the external interference force, that is, 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 represents the actual velocity and position of the hip joint in the x direction, v des 、x des represents the desired velocity and position of the hip joint in the x direction.
[0081] In order to expect the robot to remain stable, v in the above equation des =0, the acceleration of the hip joint under the influence of external force can be obtained by calculation for:
[0082]
[0083] And further calculate the speed of the hip joint under the influence of external force and displacement Δx are:
[0084]
[0085] Where t is the algorithm control period.
[0086] Therefore, the position of the hip joint under the influence of external force x real_F It can be expressed as:
[0087] x real_F =x real +Δx
[0088] According to the above formula, when the robot is in the second state, i.e. the standing state, when external force exists, the robot joints will produce corresponding displacements under the influence of external force. When the external force disappears, due to the displacement difference between the current position of the robot and the expected position, an acceleration opposite to the external force should be generated, thereby pushing the joints back to their original positions, which is consistent with the expected effect.
[0089] The related models and formulas introduced above show the specific algorithm used by the robot's control unit to control the robot's target joint to perform the target motion when the robot is affected by the external force in the second state, that is, the specific algorithm of the joint balance impedance control process. When the robot is in the second state, the control unit can control the target joint to perform the target motion through joint balance impedance control, thereby controlling the target joint to move following the external force, and after the external force disappears, the robot is pushed back to its original position by generating an acceleration in the opposite direction of the external force.
[0090] In combination with the above introduction, also taking the hip joint as an example, when the robot is in a standing state, if an external force acting on the robot is detected, the control unit can control the target joint to move in response to the external force, and after the external force disappears, execute S1024 to control the target joint to push back to the position at the initial state. The initial state is the state at the moment when the external force initially acts on the robot.
[0091] Specifically, the control unit may calculate the joint acceleration of the hip joint when it is displaced in response to the external force, and then control the hip joint to move and push back to the position at the initial state based on an acceleration that is equal in magnitude to the joint acceleration and opposite in direction.
[0092] In another possible implementation of the embodiment of the present application, 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 an embodiment of the present application, the third state may refer to the state of the robot when performing an action. When the robot is in the third state, if an external force acting on the robot is detected, the control unit may first determine whether the type of external force is a continuous external force or an instantaneous external force. Among them, a continuous external force may refer to an external force that exists continuously, such as an external force that acts on the robot for a time exceeding a certain threshold, and an instantaneous external force may refer to an external force that exists only for an instant, such as an external force generated by a collision. The duration of an instantaneous external force is usually very short, and an external force that lasts less than the time threshold can be determined as an instantaneous external force by setting a time threshold.
[0095] For different types of external forces, the control unit can control the robot's target joints to respond in different ways.
[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 a possible implementation method of an embodiment of the present 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-applying party dragging the robot to move. At this time, the relevant target joint can be switched to the admittance compliant zero-force dragging state and continuously displaced according to the external force signal.
[0098] When the external force disappears, the control unit can control the robot to stop at the current position, which is the position at the moment when the external force disappears.
[0099] S1027. When the external force is an instantaneous external force, control the robot to stop the action executed in the third state and resume the action executed in the third state after the instantaneous external force disappears.
[0100] In another possible implementation of the embodiment of the present application, if the external force acting on the robot is an instantaneous external force, the control unit may determine that the external force is a collision force, that is, an external force generated by the robot colliding with an obstacle in the environment. At this time, the control unit may control the relevant target joint to stop the action currently being performed and record the position when it stops. The action currently being performed by the target joint may be the movement or action that the target joint was originally performing when the robot was in the third state.
[0101] After the external force disappears, the control unit can control the target joint to move and resume the action that the robot is performing in the third state.
[0102] In a possible implementation of an embodiment of the present application, after the instantaneous external force disappears, when the control unit controls the robot to resume executing the action performed in the third state, the motion trajectory of the robot can be re-planned, and the robot can be controlled to resume executing the action performed in the third state along the re-planned motion trajectory.
[0103] For example, if the robot originally performs an action of moving along a certain motion trajectory, when an instantaneous external force is generated because the robot collides with an obstacle in the environment, the control unit can control the robot to stop moving, and re-plan the robot's motion trajectory after the external force disappears. Then, the control unit can control the robot to continue moving along the newly planned motion trajectory. The above-mentioned control unit controls the robot to stop moving and resume moving, which can be achieved by controlling the target joint.
[0104] In another possible implementation of the embodiment of the present application, after the robot is controlled to resume the action performed in the third state along the planned motion trajectory, if the robot detects the external force acting on the robot again when it moves along the motion trajectory to the first position, it can be considered that there is an obstacle at the first position that prevents the robot from continuing to move. At this time, the control unit can control the robot to stop moving, and no longer plan the motion trajectory, but remain stationary near the first position. The above-mentioned first position can be the position when the robot is in the third state when the external force acting on the robot is first detected. For example, the position when the robot collides with an obstacle.
[0105] It should be noted that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0106] To facilitate understanding, the robot control method provided in an embodiment of the present application is introduced below in conjunction with a complete example.
[0107] like Figure 6 FIG. 1 is a schematic diagram of a robot control process provided by an embodiment of the present application. Figure 6 The control flow shown in the figure can be realized by Figure 2 The external force detection process shown detects whether there is an external force acting on the robot. If the corresponding external force is detected, the control unit can determine the specific state of the robot through robot state detection. For example, the first state, the second state or the third state in the above-mentioned embodiments.
[0108] like Figure 6 As shown, when the robot is in a first state such as a sitting state or a lying state, the control unit can execute the following steps: Figure 3 The joint admittance compliance control algorithm introduced in the corresponding embodiment section realizes the zero-force dragging of the robot. When the robot is in the second state of standing in various postures, the control unit can execute the following steps: Figure 4 The joint balance impedance control algorithm introduced in the corresponding embodiment section realizes the smooth pushback of the robot. When the robot is in the third state due to executing the motion instruction, the control unit can execute the following Figure 5 The collision detection algorithm process introduced in the corresponding embodiment part performs collision detection and controls the robot to perform corresponding actions according to the detection results.
[0109] like Figure 7 As shown, it is Figure 5 A specific example of the collision detection algorithm process introduced in the corresponding embodiment section, namely Figure 7 A schematic diagram of a collision detection process provided by an embodiment of the present application is shown. Figure 7 The collision detection process shown in the figure, when the robot is executing the motion command, Figure 2 The external force detection process shown can determine whether there is an external force acting on the robot and the specific type of the external force.
[0110] When the external force is a continuous dragging force, the control unit can control the relevant target joints to execute the joint admittance compliance control algorithm to achieve zero-force dragging of the robot, so that the robot moves to the final position of the external force dragging. When the force is an instantaneous external force, such as an external force caused by a collision, the control unit can control the robot to stop moving and record the position when it stops moving. After the external force disappears, the robot's motion trajectory is replanned, and the robot is controlled to continue to execute motion instructions along the planned motion trajectory, such as reaching the desired position along the motion trajectory. If the robot detects an obstacle blocking it during movement, such as Figure 7 As shown, the control unit can control the robot to stop the relevant movement or stop the action currently being performed and remain stationary next to the obstacle.
[0111] The embodiment of the present application provides a comprehensive robot control method including bionic humanoid robot joint admittance compliance control, joint balance impedance control and collision detection algorithm. When the robot is subjected to external force, relevant algorithms can be used to achieve joint compliance control, and a feedback-based adaptive adjustment strategy can be used to ensure the robot's compliance, safety and stability.
[0112] Reference Figure 8, shows a schematic diagram of a robot control device provided in an embodiment of the present application, which may specifically include a determination module 801 and a control module 802, wherein:
[0113] A 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 movement based on the state, wherein the target movement is used to adapt to the influence of the external force under the state, and the target movement at least includes the movement of the target joint to the target position under the action of the external force.
[0115] In a possible implementation of the embodiment of the present application, the state may include a first state; the control module 802 may be specifically configured to:
[0116] When the robot is in a first state, calculating a joint velocity and a joint displacement of the target joint under the influence of the external force;
[0117] The target joint is controlled to move to a position corresponding to the joint displacement according to the joint speed.
[0118] In the embodiment of the present application, the first state may include a sitting state or a lying state, and the target joint includes a hip joint; the control module 802 may be specifically used for:
[0119] When the robot is in a sitting state or a lying state, a constructed dynamic equation is used to calculate the joint acceleration of the hip joint under the influence of the external force, the dynamic equation is constructed based on a mass-spring-damper model, and when the robot is in a sitting state or a lying state, the coefficients representing the expected speed and stiffness in the dynamic equation are both 0;
[0120] The joint velocity and the joint displacement of the hip joint under the influence of the external force are calculated according to the joint acceleration.
[0121] In another possible implementation of the embodiment of the present application, the state may further include a second state; the control module 802 may be specifically configured to:
[0122] When the robot is in the second state, controlling the target joint to move in response to the external force;
[0123] When the external force disappears, the target joint is controlled to be pushed 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.
[0124] In the embodiment of the present application, the second state may include a standing state, and the target joint may include a hip joint; the control module 802 may be specifically used for:
[0125] When the robot is in a standing state, calculating the joint acceleration of the hip joint when it is displaced in response to the external force;
[0126] Based on the acceleration which is equal to the joint acceleration in magnitude and opposite in direction, the hip joint is controlled to move and push back to the position in the initial state.
[0127] In another possible implementation of the embodiment of the present application, the state may further include a third state; the control module 802 may be specifically configured to:
[0128] When the robot is in the third state, determining the type of the external force, wherein the type includes 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, where the current position is the position at the moment when the continuous external force disappears;
[0130] When the external force is an instantaneous external force, the robot is controlled to stop the action executed in the third state and resume the action executed in the third state after the instantaneous external force disappears.
[0131] In the embodiment of the present application, the control module 802 may also be used for:
[0132] After the instantaneous external force disappears, replanning the motion trajectory;
[0133] The robot is controlled to resume executing the action executed in the third state along the motion trajectory.
[0134] In the embodiment of the present application, the control module 802 may also be used for:
[0135] When the robot moves to the first position along the motion trajectory and detects the external force acting on the robot again, the robot is controlled to stop moving. The first position is the position when the external force acting on the robot is first detected when the robot is in the third state.
[0136] In the embodiment of the present application, the device may further include an external force detection module, and the external force detection module may be specifically used for:
[0137] monitoring the joint positions and sensor data of the robot in real time, wherein the sensor data includes joint posture angles detected by an inertial measurement unit and joint torques detected by a force sensor;
[0138] Calculating the joint torque of the robot according to the joint position and the joint posture 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] The robot control device provided in the embodiment of the present application may be a control unit of the robot, or a module in the control unit that can implement the functions of the steps of the above-mentioned method embodiments. By using the device, the steps of the above-mentioned method embodiments can be implemented.
[0141] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment part.
[0142] Reference Fig. 9 , shows a schematic diagram of the structure of a robot provided by an embodiment of the present application. Fig. 9 As shown, the robot 900 in the embodiment of the present application 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, the steps in each embodiment of the above robot control method are implemented, such as Figure 1 Alternatively, when the processor 910 executes the computer program 921, the functions of each module / unit in the above-mentioned device embodiments are realized, for example Figure 8 Functions of modules 801 to 802 are shown.
[0143] Exemplarily, the computer program 921 may be divided into one or more modules / units, which are stored in the memory 920 and executed by the processor 910 to complete the present application. The one or more modules / units may be a series of computer program instruction segments capable of completing specific functions, which may be used to describe the execution process of the computer program 921 in the robot 900. For example, the computer program 921 may be divided into a determination module and a control module, and the specific functions of each module are as follows:
[0144] A determination module, used for determining a state of the robot in response to an external force when there is an external force acting on the robot;
[0145] A control module is used to control the target joint of the robot to perform a target movement based on the state, wherein the target movement is used to adapt to the influence of the external force under the state, and the target movement at least includes the movement of the target joint to the target position under the action of the external force.
[0146] The robot 900 may be a bionic humanoid robot or a humanoid-like robot in the aforementioned embodiments, and the robot 900 may implement the steps in the aforementioned method embodiments. The robot 900 may include, but is not limited to, a processor 910 and a memory 920. Those skilled in the art may understand that Fig. 9 It is only an example of the robot 900 and does not constitute a limitation of the robot 900. The robot 900 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robot 900 may also include input and output devices, network access devices, buses, etc.
[0147] The processor 910 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.
[0148] The memory 920 may be an internal storage unit of the robot 900, such as a hard disk or memory of the robot 900. The memory 920 may also be an external storage device of the robot 900, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the robot 900. Further, the memory 920 may also include both an internal storage unit of the robot 900 and an external storage device. The memory 920 is used to store the computer program 921 and other programs and data required by the robot 900. The memory 920 may also be used to temporarily store data that has been output or is to be output.
[0149] An embodiment of the present 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, the methods described in the aforementioned embodiments are implemented to control the robot.
[0150] An embodiment of the present application further discloses a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a computer, the methods described in the aforementioned embodiments are implemented to control the robot.
[0151] An embodiment of the present application further discloses a computer program product, including a computer program. When the computer program is run on a computer, the computer executes the methods described in the aforementioned embodiments to achieve control of the robot.
[0152] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application is described in detail with reference to the above-mentioned embodiments, a person skilled in the art should understand that the technical solutions described in the above-mentioned embodiments can still be modified, or some of the technical features can be replaced by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.
Claims
1. A robot control method, characterized in that: include: When there is an external force acting on the robot, determining a state of the robot in response to the external force; Based on the state, the target joint of the robot is controlled to perform a target movement, wherein the target movement is used to adapt to the influence of the external force under the state, and the target movement at least includes the movement of the target joint moving to a target position under the action of the external force.
2. The method according to claim 1, characterized in that The state includes a first state, the first state includes a sitting state or a lying state, and the target joint includes a hip joint; and based on the state, controlling the target joint of the robot to perform a target motion includes: When the robot is in a sitting state or a lying state, a constructed dynamic equation is used to calculate the joint acceleration of the hip joint under the influence of the external force, the dynamic equation is constructed based on a mass-spring-damper model, and when the robot is in a sitting state or a lying state, the coefficients representing the expected speed and stiffness in the dynamic equation are both 0; The joint velocity and the joint displacement of the hip joint under the influence of the external force are calculated according to the joint acceleration.
3. The method according to claim 1, characterized in that The state includes a second state; and based on the state, controlling the target joint of the robot to perform a target motion includes: When the robot is in the second state, controlling the target joint to move in response to the external force; When the external force disappears, the target joint is controlled to be pushed 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.
4. The method according to claim 3, characterized in that The second state includes a standing state, and the target joint includes a hip joint; and controlling the target joint to be pushed back to a position of an initial state includes: When the robot is in a standing state, calculating the joint acceleration of the hip joint when it is displaced in response to the external force; Based on the acceleration which is equal to the joint acceleration in magnitude and opposite in direction, the hip joint is controlled to move and push back to the position in the initial state.
5. The method according to claim 1, characterized in that: The state includes a third state; and based on the state, controlling the target joint of the robot to perform a target motion includes: When the robot is in the third state, determining the type of the external force, wherein the type includes a continuous external force or an instantaneous external force; 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, where the current position is the position at the moment when the continuous external force disappears; When the external force is an instantaneous external force, the robot is controlled to stop the action executed in the third state and resume the action executed in the third state after the instantaneous external force disappears.
6. The method according to claim 5, characterized in that After the instantaneous external force disappears, resuming the action performed in the third state includes: After the instantaneous external force disappears, replanning the motion trajectory; The robot is controlled to resume executing the action executed in the third state along the motion trajectory.
7. The method according to claim 6, characterized in that After controlling the robot to resume executing the action executed in the third state along the motion trajectory, the method further includes: When the robot moves to the first position along the motion trajectory and detects the external force acting on the robot again, the robot is controlled to stop moving. The first position is the position when the external force acting on the robot is first detected when the robot is in the third state.
8. The method according to any one of claims 1 to 7, characterized in that: Before determining the state of the robot in response to the external force, the method further includes: monitoring the joint positions and sensor data of the robot in real time, wherein the sensor data includes joint posture angles detected by an inertial measurement unit and joint torques detected by a force sensor; Calculating the joint torque of the robot according to the joint position and the joint posture angle; 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.
9. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the robot is caused to implement the method according to any one of claims 1 to 8.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed, the method according to any one of claims 1 to 8 is executed.
Citation Information
Patent Citations
Robot interaction method and device, electronic equipment and storage medium
CN115026817A
Power-assisted robot trajectory tracking control method, system, equipment and medium
CN117647985A
Humanoid robot gait disturbance recovery control method
CN117666348A
Bionic biped robot balance control method and humanoid robot system
CN118579173A
Walking robot and control method thereof
US20120165987A1