Robot control methods, devices, equipment and computer-readable storage media
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-20
- Publication Date
- 2026-08-14
AI Technical Summary
在工业领域中,当机器人运用在压铸行业取件、高精度打磨抛光、上下料任务等工艺中时,单一的位置控制无法做到机器人的实际运动轨迹和期望运动轨迹完美吻合,导致机器人承受额外的外力作用,使得机器人与环境间的作用力不断增大,容易引起机器人本体损坏和周围环境破坏
[0035]本申请中,通过确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩;基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据;基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量;基于所述外界干扰力对应的位姿补偿量和预设位姿确定实际位姿,并按照所述实际位姿控制所述机器人运动。
Smart Images

Figure CN117400257B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics, and in particular to a robot control method, apparatus, device, and computer-readable storage medium. Background Technology
[0002] Currently, robots are widely used in various fields such as automotive and aerospace. In the industrial sector, when robots are used in processes such as part removal, high-precision grinding and polishing, and loading and unloading in the die-casting industry, single position control cannot achieve a perfect match between the robot's actual and desired motion trajectories. This causes the robot to be subjected to additional external forces, increasing the interaction force between the robot and the environment, which can easily lead to damage to the robot itself and the surrounding environment. For example, in the die-casting part removal process, if the workpiece is significantly offset and forcibly removed, it is equivalent to a collision with the robot, which can easily damage both the robot and the workpiece, leading to operation failure. Summary of the Invention
[0003] The main objective of this application is to provide a robot control method, apparatus, device, and computer-readable storage medium, aiming to propose a method for compliant robot control to avoid damage to the robot body due to rigid contact.
[0004] To achieve the above objectives, this application provides a robot control method, which includes the following steps:
[0005] Determine the theoretical joint torque and the actual joint torque of each joint of the robot when the robot performs the target action;
[0006] Based on the theoretical joint torque and the actual joint torque, determine the external force data of the robot when external disturbance forces act on the robot;
[0007] The pose compensation amount corresponding to the external disturbance force is calculated based on the external force data and the robot's impedance controller.
[0008] The actual pose is determined based on the pose compensation amount corresponding to the external disturbance force and the preset pose, and the robot movement is controlled according to the actual pose.
[0009] Optionally, the step of determining the theoretical joint torque and the actual joint torque of each joint of the robot when the robot performs the target action includes:
[0010] The theoretical joint torques of each joint of the robot are determined based on a pre-set dynamic model.
[0011] The actual joint torque of each joint of the robot is calculated based on the joint motor current of each joint.
[0012] Optionally, the step of determining the external force data of the robot when an external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque includes:
[0013] For any target joint among the joints of the robot, perform arithmetic operations on the theoretical joint torque and the actual joint torque of the target joint to obtain the calculation result;
[0014] The arithmetic result is used as the external force data of the target joint when an external disturbance force is applied to the robot.
[0015] Optionally, the robot includes a robot body and a robot end effector; the step of determining the external force data of the robot when an external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque includes:
[0016] Based on the theoretical joint torques and the actual joint torques, the disturbance torques corresponding to each joint of the robot when the external disturbance force acts on the robot body are calculated.
[0017] The actual end torque of the robot's end effector when the external interference force acts on the robot body is determined based on each of the aforementioned interference torques.
[0018] Obtain the desired force data of the robot, and based on the desired force data and the actual end torque, determine the external force data of the robot end when the external disturbance force acts on the robot body.
[0019] Optionally, the step of calculating the pose compensation amount corresponding to the external disturbance force based on the external force data and the robot's impedance controller includes:
[0020] Obtain the control formula of the robot's impedance controller and the external force data of the robot;
[0021] The control relationship is transformed to obtain the transfer function between the external force data of the robot and the pose compensation amount of the robot;
[0022] The pose compensation amount corresponding to the external disturbance force is calculated based on the transfer function.
[0023] Optionally, after the step of determining the external force data of the robot when an external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque, the method further includes:
[0024] Detect whether the external force data is within a preset dead zone;
[0025] If the external force data is not within the preset dead zone, then the step of calculating the pose compensation amount based on the external force data and the robot's impedance controller is executed.
[0026] Optionally, the step of controlling the robot's movement according to the actual pose includes:
[0027] The joint angles are calculated based on the kinematic model and the actual pose, and the joint angles are converted into pulse information and sent to the robot's controller.
[0028] The controller drives the robot to move according to the received pulse information.
[0029] To achieve the above objectives, this application also provides a robot control device, the robot control device comprising:
[0030] The first determining module is used to determine the theoretical joint torque and the actual joint torque of each joint of the robot when the robot performs the target action.
[0031] The second determining module is used to determine the external force data of the robot when an external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque;
[0032] The calculation module is used to calculate the pose compensation amount corresponding to the external disturbance force based on the external force data and the robot's impedance controller.
[0033] The control module is used to determine the actual pose based on the pose compensation amount corresponding to the external disturbance force and the preset pose, and to control the robot's movement according to the actual pose.
[0034] In addition, to achieve the above objectives, this application also proposes a computer-readable storage medium storing a robot control program, which, when executed by a processor, implements the steps of the robot control method described above.
[0035] In this application, the theoretical joint torque and the actual joint torque of each joint of the robot are determined when the robot performs a target action; based on the theoretical joint torque and the actual joint torque, the external force data of the robot when an external disturbance force acts on the robot is determined; based on the external force data and the robot's impedance controller, the pose compensation amount corresponding to the external disturbance force is calculated; based on the pose compensation amount corresponding to the external disturbance force and the preset pose, the actual pose is determined, and the robot's movement is controlled according to the actual pose.
[0036] In this application, the desired pose of the robot is compensated based on the data of external forces applied to the robot by the external environment. This enables the robot to adjust its actual pose when it receives external forces, so that the robot's pose can adapt to the forces of the external environment. This avoids rigid contact between the robot and the outside world, thereby preventing damage to the robot body due to rigid contact. Attached Figure Description
[0037] Figure 1 This is a schematic diagram of the hardware operating environment involved in the embodiments of this application;
[0038] Figure 2 This is a flowchart illustrating the first embodiment of the robot control method of this application;
[0039] Figure 3 This is a schematic diagram of the impedance controller involved in one embodiment of the robot control method of this application;
[0040] Figure 4 This is a flowchart illustrating the second embodiment of the robot control method of this application;
[0041] Figure 5 This is a flowchart illustrating the third embodiment of the robot control method of this application;
[0042] Figure 6 This is a flowchart illustrating one embodiment of the robot control method of this application;
[0043] Figure 7 This is a schematic diagram of the control system involved in one embodiment of the robot control method of this application;
[0044] Figure 8 This is an application flowchart of one embodiment of the robot control method of this application;
[0045] Figure 9 This is a schematic diagram of the functional modules of a preferred embodiment of the robot control device of this application.
[0046] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0047] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0048] like Figure 1 As shown, Figure 1 This is a schematic diagram of the device structure of the hardware operating environment involved in the embodiments of this application.
[0049] It should be noted that the robot control device in this application embodiment can be a robot controller or a device that establishes a communication connection with the robot controller, such as a smartphone, personal computer, server, etc., without any specific limitations.
[0050] like Figure 1 As shown, the robot control device may include: a processor 1001, such as a CPU; a network interface 1004; a user interface 1003; a memory 1005; and a communication bus 1002. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be high-speed RAM or non-volatile memory, such as a disk drive. Optionally, the memory 1005 may also be a storage device independent of the aforementioned processor 1001.
[0051] Those skilled in the art will understand that Figure 1 The device structure shown does not constitute a limitation on the robot control device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0052] like Figure 1 As shown, the memory 1005, as a computer storage medium, may include an operating system, a network communication module, a user interface module, and a robot control program. The operating system is a program that manages and controls the device's hardware and software resources, supporting the operation of the robot control program and other software or programs. Figure 1 In the device shown, the user interface 1003 is mainly used for data communication with the client; the network interface 1004 is mainly used for establishing a communication connection with the server; and the processor 1001 can be used to call the robot control program stored in the memory 1005 and perform the following operations:
[0053] Determine the theoretical joint torque and the actual joint torque of each joint of the robot when the robot performs the target action;
[0054] Based on the theoretical joint torque and the actual joint torque, determine the external force data of the robot when external disturbance forces act on the robot;
[0055] The pose compensation amount corresponding to the external disturbance force is calculated based on the external force data and the robot's impedance controller.
[0056] The actual pose is determined based on the pose compensation amount corresponding to the external disturbance force and the preset pose, and the robot movement is controlled according to the actual pose.
[0057] Further, the step of determining the theoretical joint torque and the actual joint torque of each joint of the robot when the robot performs the target action includes:
[0058] The theoretical joint torques of each joint of the robot are determined based on a pre-set dynamic model.
[0059] The actual joint torque of each joint of the robot is calculated based on the joint motor current of each joint.
[0060] Furthermore, the step of determining the external force data of the robot when an external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque includes:
[0061] For any target joint among the joints of the robot, perform arithmetic operations on the theoretical joint torque and the actual joint torque of the target joint to obtain the calculation result;
[0062] The arithmetic result is used as the external force data of the target joint when an external disturbance force is applied to the robot.
[0063] Further, the robot includes a robot body and a robot end effector; the step of determining the external force data of the robot when an external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque includes:
[0064] Based on the theoretical joint torques and the actual joint torques, the disturbance torques corresponding to each joint of the robot when the external disturbance force acts on the robot body are calculated.
[0065] The actual end torque of the robot's end effector when the external interference force acts on the robot body is determined based on each of the aforementioned interference torques.
[0066] Obtain the desired force data of the robot, and based on the desired force data and the actual end torque, determine the external force data of the robot end when the external disturbance force acts on the robot body.
[0067] Further, the step of calculating the pose compensation amount corresponding to the external disturbance force based on the external force data and the robot's impedance controller includes:
[0068] Obtain the control formula of the robot's impedance controller and the external force data of the robot;
[0069] The control relationship is transformed to obtain the transfer function between the external force data of the robot and the pose compensation amount of the robot;
[0070] The pose compensation amount corresponding to the external disturbance force is calculated based on the transfer function.
[0071] Furthermore, after the step of determining the external force data of the robot when an external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque, the method further includes:
[0072] Detect whether the external force data is within a preset dead zone;
[0073] If the external force data is not within the preset dead zone, then the step of calculating the pose compensation amount based on the external force data and the robot's impedance controller is executed.
[0074] Furthermore, the step of controlling the robot's movement according to the actual pose includes:
[0075] The joint angles are calculated based on the kinematic model and the actual pose, and the joint angles are converted into pulse information and sent to the robot's controller.
[0076] The controller drives the robot to move according to the received pulse information.
[0077] Based on the above structure, various embodiments of the robot control method are proposed.
[0078] Reference Figure 2 , Figure 2 This is a flowchart illustrating the first embodiment of the robot control method of this application.
[0079] This application provides embodiments of a robot control method. It should be noted that although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order. In this embodiment, the executing entity of the robot control method can be the robot controller or a device that establishes a communication connection with the robot controller, such as a smartphone, personal computer, or server. No limitation is made in this embodiment. For ease of description, the executing entity is omitted from the description of each embodiment. In this embodiment, the robot control method includes steps S10-S40.
[0080] Step S10: Determine the theoretical joint torque and the actual joint torque of each joint of the robot when the robot performs the target action.
[0081] In this embodiment, the force data representing the force generated by the robot joints and / or the robot end effector when external disturbance forces act on the robot body is referred to as external force data. External force data can be the force generated by the robot joints and / or the robot end effector, or it can be the torque corresponding to the force generated by the robot joints and / or the robot end effector; no limitation is made here. By establishing a soft floating impedance controller model for the robot, the pose compensation amount corresponding to the external force is calculated based on the external force data and the impedance controller. Then, based on the pose compensation amount and the preset pose, the actual pose is obtained, and the robot's movement is controlled according to the actual pose, achieving compliant control of the robot.
[0082] Specifically, in this embodiment, the theoretical torque required by the robot joints when the robot performs the target action is determined. This is referred to as the theoretical joint torque for distinction. The method of determining the theoretical joint torque is not limited here. For example, in one embodiment, the theoretical joint torque can be calculated in reverse from the pose of the robot's end effector and the required acceleration using the inverse dynamics method. For example, in another embodiment, the theoretical joint torque can also be calculated using a dynamic model.
[0083] The actual torque of each joint is determined when the robot performs the target action; hereinafter referred to as actual joint torque for distinction. Actual torque is the torque corresponding to the actual force exerted on the robot joints when the robot performs the action. The method for determining actual torque is not limited here. For example, it can be calculated by controlling the current of the joint motors; it can also be calculated using the robot's dynamic model, combined with external forces and the robot's end effector pose; or it can be solved inversely based on the robot's geometry and dynamic model. It is understood that in this embodiment, the theoretical joint torque and actual joint torque are the theoretical joint torque and actual joint torque of the robot joints when the robot performs the same action (the target action in this embodiment).
[0084] Step S20: Determine the external force data of the robot when external disturbance forces act on the robot based on the theoretical joint torque and the actual joint torque.
[0085] In this embodiment, the external force data of the robot when external disturbance forces act on the robot are determined based on the theoretical joint torque and the actual joint torque.
[0086] The method for determining external force data is not limited here. For example, in one feasible embodiment, if compliant control is performed on the robot joints, the external force data can be the external force data of the robot joints. In this case, the difference between the theoretical joint torque and the actual joint torque can be used as the external force data, or the force corresponding to the difference between the theoretical joint torque and the actual joint torque can be used as the external force data. As another feasible embodiment, if compliant control is performed on the robot end effector, the external force data can be the six-bit force data of the robot in Cartesian space, that is, the force of the robot end effector along the X, Y, and Z axes and the torque of the robot end effector around the X, Y, and Z axes. In this case, the actual force data of the robot end effector can be obtained by solving the difference between the theoretical joint torque and the actual joint torque, and the difference between the actual force data of the robot end effector and the expected force data of the robot end effector can be used as the external force data.
[0087] Step S30: Calculate the pose compensation amount corresponding to the external interference force based on the external force data and the robot's impedance controller.
[0088] An impedance controller for a robot is a system that enables the robot to make adaptive responses to changes in external forces or torques. The impedance controller establishes a mapping relationship between the robot's required pose adjustment (i.e., pose compensation) and the external forces. Therefore, in this embodiment, the pose compensation corresponding to the external disturbance force can be determined based on the impedance controller, and the robot's pose can be corrected or adjusted using the pose compensation value. Specifically, the pose compensation includes position compensation and / or robot joint angle compensation. For example, in Cartesian space, the pose compensation can be the position compensation of the robot's end effector; similarly, in joint space, the pose compensation can be both joint position compensation and joint angle compensation.
[0089] Robot impedance controllers can typically take several forms. For example, an impedance controller can be a model that only considers the deviation between the desired and actual positions, in which case it functions like a spring system. Alternatively, it can be an impedance model that considers both position and velocity deviations, in which case it functions like a damped-spring system. Another example is an impedance model that considers position, velocity, and acceleration deviations, in which case it functions like a mass-damped-spring system. Different forms of impedance controllers correspond to different model expressions, meaning that different forms of impedance controllers establish different mapping relationships between pose compensation and external forces. Therefore, the processes for calculating displacement compensation differ for different forms of impedance controllers, which are not limited here.
[0090] Exemplarily, in one feasible embodiment, the impedance controller is described as equivalent to a spring-damped system, referring to... Figure 3The impedance control model of a robot can be equivalently represented as a second-order system consisting of the robot body, damping, and springs. The dynamic relationship between contact force and position in this system can be established through the impedance model. By incorporating force and position into a control system through the impedance relationship, synchronous control of external force data and robot position can be achieved. The specific formula for the impedance control model can be:
[0091]
[0092] In the formula: This represents the desired displacement output by the impedance controller. Represents displacement velocity, X d Represents the displacement acceleration vector; Indicates the actual displacement output by the robot, M represents displacement velocity, X represents displacement acceleration vector; d M represents the ideal inertia matrix of the robot. d K represents the ideal damping matrix of the robot. d F represents the ideal stiffness matrix of the robot. ext This represents the external torque, or external force data.
[0093] Step S40: Determine the actual pose based on the pose compensation amount corresponding to the external disturbance force and the preset pose, and control the robot's movement according to the actual pose.
[0094] In this embodiment, after obtaining the pose compensation amount corresponding to the external disturbance force, the actual pose is determined based on the pose compensation amount corresponding to the external disturbance force and the preset pose, and the robot movement is controlled according to the actual pose so that the robot can compliantly respond to changes in force in the external environment.
[0095] Specifically, in one feasible embodiment, the pose compensation amount can be superimposed on the preset pose to obtain the actual pose; in another feasible embodiment, the pose compensation amount can be preprocessed and then superimposed on the preset pose to obtain the actual pose; in yet another feasible embodiment, while performing compliant control on the robot, other feasible controls can be applied to the robot, such as obstacle avoidance control and speed control. After determining the pose control amount corresponding to other controls, the actual pose can be determined based on the displacement control amount, the pose compensation amount, and the preset pose.
[0096] Furthermore, in a specific implementation, the process of executing steps S10-S30 after receiving a compliant control instruction can be either the process of executing steps S10-S30 according to a certain cycle, and there is no limitation here. For example, in a feasible implementation, the process of executing steps S10-S30 can be performed within each control cycle of the robot. Here, the control cycle of the robot refers to the time required for the robot control system to execute one complete control cycle. For example, the control cycle of an industrial robotic arm is about 1ms. This implementation can realize the real-time calculation of external force data on the robot body within each control cycle, and realize compliant control of the robot within each control cycle. This results in high control accuracy, strong robustness, and high real-time performance of the robot control, enabling the robot to move with a light push.
[0097] In this embodiment, the theoretical and actual joint torques of each joint of the robot are determined when the robot performs the target action. Based on these theoretical and actual joint torques, the external force data of the robot when external disturbance forces act on the robot body is determined. The pose compensation amount is calculated based on the external force data and the robot's impedance controller. The actual pose is determined based on the pose compensation amount and the preset pose, and the robot's movement is controlled according to the actual pose. This allows the robot's actual position to adapt to the external force data of the external environment, avoiding rigid contact between the robot and the outside world, thereby preventing damage to the robot body due to rigid contact.
[0098] Furthermore, based on the first embodiment described above, a second embodiment of the robot control method of the present invention is proposed. In this embodiment, reference is made to... Figure 4 In step S10: determining the theoretical joint torque and the actual joint torque of each joint of the robot when the robot performs the target action, including steps S101-S102.
[0099] Step S101: Determine the theoretical joint torque of each joint of the robot based on the preset dynamic model.
[0100] In this embodiment, the torques corresponding to each joint of the robot are calculated using a robot dynamics model. Compared to using torque sensors, this embodiment does not require additional devices on the robot body, reducing the production cost of the robot body. Specifically, a dynamics model of the robot body is established. The dynamics model typically needs to consider factors such as inertia, gravity, friction, and joint stiffness. The specific model formula can be set according to the specific application scenario and actual needs of the robot, and is not limited here. Further, in a feasible implementation, the following inertial force term can be considered when establishing the dynamics model: Centripetal force term G(θ), gravity term and friction term The friction term includes static friction and kinetic friction, and the specific dynamic model expression formula is not restricted here.
[0101] In this embodiment, the theoretical joint torque of each joint of the robot is determined using a pre-established dynamic model. The specific calculation and determination process of the theoretical joint torque can refer to the conventional dynamic model solution process, and will not be elaborated here.
[0102] Furthermore, in one feasible implementation, when the dynamic model considers the friction term, a friction error model of the robot can be established to compensate for static friction, improving the accuracy of the friction term, thereby improving the accuracy of the established dynamic model and achieving the control precision of the robot control algorithm. The specific formula describing the friction error model is not limited here.
[0103] Step S102: Calculate the actual joint torque of each joint of the robot based on the joint motor current of each joint.
[0104] During the robot's control process, the movement of each joint of the robot is controlled by servo motors. The magnitude of the current corresponds to different joint movement amplitudes. Therefore, in this embodiment, the actual joint torque of each joint can be determined by controlling the current of the robot's joint movement (hereinafter referred to as joint motor current).
[0105] The specific calculation process for calculating the actual joint torque based on the joint motor current is not limited here, and conventional calculation procedures can be used. For example, in one feasible implementation, the actual joint torque can be obtained by multiplying the motor torque constant and the joint motor current.
[0106] Further, in one feasible implementation, step S20: determining the external force data of the robot when the external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque, including steps S201-S202.
[0107] Step S201: For any target joint among the joints of the robot, perform arithmetic operations on the theoretical joint torque and the actual joint torque of the target joint to obtain the calculation result.
[0108] In this embodiment, the robot control method is applied to the joint space. When calculating external force data, the external force data of each joint of the robot is calculated, so as to obtain the pose compensation amount of each joint based on the external force data of each joint, thereby realizing soft floating control (i.e. compliant control) in the robot joint space.
[0109] Specifically, in this embodiment, for any target joint among the robot's joints, arithmetic operations are performed on the theoretical joint torque and the actual joint torque of the target joint to obtain the calculation result. The specific calculation formula may be:
[0110] Δτ=τ c -τ a
[0111] Where, τ c τ represents the theoretical joint torque. a Δτ represents the actual joint torque; Δτ represents the external force data.
[0112] Step S202: The arithmetic result is used as the external force data of the target joint when external disturbance forces act on the robot.
[0113] In this embodiment, arithmetic calculations are performed on the theoretical joint torque and the actual joint torque of the target joint. After obtaining the calculation results, the arithmetic results are used as the external force data of the target joint when external disturbance forces act on the robot.
[0114] Further, in one feasible embodiment, the robot includes a robot body and a robot end effector; step S20: determining the external force data of the robot when the external disturbance force acts on the robot body based on the theoretical joint torque and the actual joint torque, including steps S203-205.
[0115] Step S203: Based on the theoretical joint torques and the actual joint torques, calculate the disturbance torques corresponding to each joint of the robot when the external disturbance force acts on the robot body.
[0116] In this embodiment, the robot method is applied to Cartesian space, that is, to the robot end effector. When calculating external force data, the external force data of the robot end effector is calculated, and the pose compensation amount of the robot end effector is obtained based on the external force data of the robot end effector, thereby realizing soft floating control in the robot's Cartesian space.
[0117] Based on the theoretical and actual joint torques, the torque of each joint when an external disturbance force acts on the robot body is calculated. This torque will be referred to as the disturbance torque for distinction. In a specific implementation, the difference between the theoretical and actual joint torques can be used as the disturbance torque of the joint.
[0118] Step S204: Determine the actual end torque of the robot end when the external interference force acts on the robot body based on each of the interference torques.
[0119] Based on the various disturbance torques, the actual torque of the robot's end effector when external disturbance forces act on the robot body is determined. This is hereinafter referred to as the actual end effector torque for distinction. In one feasible implementation, any target disturbance torque among the disturbance torques can be mapped to the actual end effector torque of the robot's end effector. In another feasible implementation, each disturbance torque can be preprocessed to obtain a processed disturbance torque, such as through averaging, weighting, or other preprocessing, and then the processed disturbance torque can be mapped to the actual end effector torque.
[0120] The method for mapping the disturbance torque to the actual end-effector torque is not limited here. For example, in one feasible embodiment, the disturbance torque can be mapped to the actual end-effector torque through inverse dynamics solution; in another feasible embodiment, a neural network model can also be used to map the disturbance torque to the actual end-effector torque; yet another feasible embodiment can map the disturbance torque to the actual end-effector torque based on the actual joint angles of each joint of the robot and the inverse of the Jacobian transpose matrix. Exemplarily, in one feasible embodiment, when mapping the disturbance torque to the actual end-effector torque based on the actual joint angles of each joint of the robot and the inverse of the Jacobian transpose matrix, the specific formula could be:
[0121] F e =J -T (θ)Δτ
[0122] Where Δτ represents the disturbance torque; J -T (θ) represents the inverse of the Jacobi transpose matrix; θ represents the actual joint angle.
[0123] Step S205: Obtain the desired force data of the robot, and based on the desired force data and the actual end torque, determine the external force data of the robot end when the external disturbance force acts on the robot body.
[0124] Desired force data refers to the force data of the robot's end effector set during the controller design process. This desired force data enables the robot to achieve a specific pose. Desired force data can be either applied force or torque. In this embodiment, the desired force data of the robot is acquired, and the specific acquisition method is not limited. For example, it can be acquired from the force data set by the engineer, or it can be acquired from the force data obtained through robot pose planning.
[0125] Based on the expected force data and the actual end-effector torque, the robot end effector is determined when an external disturbance force acts on the robot body. Specifically, in one feasible embodiment, when the expected force data is an applied force, the expected force data can be first converted into a target torque, and then the difference between the target torque and the actual end-effector torque can be calculated. The external force data is obtained based on the difference between the target torque and the actual end-effector torque. The process of obtaining the external force data based on the difference between the target torque and the actual end-effector torque can refer to step S20 in the first embodiment, and will not be elaborated here. In another feasible embodiment, when the expected force data is a torque, the difference between the expected force data and the actual end-effector torque can be directly calculated. The external force data is obtained based on the difference between the expected force data and the actual end-effector torque. The process of obtaining the external force data based on the difference between the expected force data and the actual end-effector torque can refer to step S20 in the first embodiment, and will not be elaborated here.
[0126] For example, in one feasible implementation, the difference between the desired force data and the actual end-effector torque can be used as the external force data of the robot end effector. The specific calculation formula can be:
[0127] ΔF=F d -F e
[0128] Among them, F e F represents the actual end torque. d This is data on expectation power.
[0129] In this embodiment, the theoretical joint torques of each joint of the robot are determined based on a preset dynamic model. This takes into account the robot's dynamic behavior and provides accurate torque estimates, thereby improving the accuracy of the theoretical joint torques. Furthermore, the actual joint torques of each joint of the robot are calculated based on the joint motor currents of each joint. This avoids the error propagation problem in traditional position or speed control, providing higher control precision and thus improving the accuracy of the actual joint torques.
[0130] Furthermore, based on the first and / or second embodiments described above, a third embodiment of the robot control method of the present invention is proposed. In this embodiment, reference is made to... Figure 5 Step S30: Calculate the pose compensation amount corresponding to the external interference force based on the external force data and the robot's impedance controller, including steps S301-S303.
[0131] Step S301: Obtain the control relationship of the robot's impedance controller and the external force data of the robot.
[0132] In this embodiment, the control formula of the robot's impedance controller and the external force data of the robot are obtained, and the pose compensation amount corresponding to the external disturbance force is calculated based on the control formula and the pose compensation amount of the robot.
[0133] Step S302: Transform the control relationship to obtain the transfer function between the external force data of the robot and the pose compensation amount of the robot.
[0134] The transfer function between the robot's external force data and pose compensation is obtained by transforming the control relationship. This embodiment does not limit the method of transforming the control relationship. For example, in one feasible embodiment, frequency domain analysis techniques, such as Fourier transform, can be used to convert the control relationship into a frequency domain transfer function; in another feasible embodiment, the control function can be transformed into a transfer function using calculus, such as integer-order calculus and fractional-order calculus; and in yet another feasible embodiment, the transfer function can be obtained through Laplace transform.
[0135] For example, in one feasible implementation, the transfer function can be obtained by performing a Laplace transform on the control relationship. Specifically, the Laplace transform on the control relationship yields the frequency domain expression of the impedance control. The formula obtained after the Laplace transform is the transfer function between the external force data and the robot's pose compensation. It is understood that different control relationships can correspond to different transfer functions, and this is not limited here. For example, in one feasible implementation, the control relationship describing the impedance controller can be:
[0136]
[0137] In the formula: This represents the desired displacement output by the impedance controller. Represents displacement velocity, X d Represents the displacement acceleration vector; This represents the actual displacement output by the robot; M represents displacement velocity, X represents displacement acceleration vector; d B represents the ideal inertia matrix of the robot. d K represents the ideal damping matrix of the robot. d ΔF represents the ideal stiffness matrix of the robot; ΔF represents the external force data.
[0138] Taking the Laplace transform of the control relationship of the above impedance controller, we get:
[0139]
[0140] In the formula, ΔX=(XX) d), representing the pose compensation amount. Based on the transfer function above, it can be seen that when the robot is not in contact with the environment, the external force data ΔF = 0, and the corresponding pose compensation amount ΔX = 0, that is, the robot's pose does not need to be adjusted at this time.
[0141] Step S303: Calculate the pose compensation amount corresponding to the external disturbance force based on the transfer function.
[0142] In this embodiment, the pose compensation amount corresponding to the external disturbance force is calculated based on the transfer function, so as to correct the robot's pose through the pose compensation amount and realize the robot's compliant control.
[0143] Furthermore, in one feasible embodiment, after determining the external force data of the robot when the external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque in step S20, steps S50-S60 are also included.
[0144] Step S50: Detect whether the external force data is within the preset dead zone.
[0145] In robot control, the dead zone, also known as the neutral zone or non-active zone, refers to the range of input signals in the transfer function of the control system where the corresponding output is zero. In this embodiment, a dead zone is pre-set for the transfer function between external force data (which uses external force data as input signals) and pose compensation; this is referred to as the preset dead zone for distinction.
[0146] After obtaining the external force data, it is checked whether the external force data is within a preset dead zone to determine whether the displacement compensation corresponding to the external force data is 0. Specifically, if the external force data is within the preset dead zone, the pose compensation corresponding to the external force data is equal to 0, and pose compensation is not required; if the external force data is not within the preset dead zone, the pose compensation corresponding to the external force data is not equal to 0, and pose compensation is required.
[0147] Step S60: If the external force data is not within the preset dead zone, then the step of calculating the pose compensation amount based on the external force data and the robot's impedance controller is executed.
[0148] In this embodiment, if the external force data is not within the preset dead zone, the pose compensation amount is calculated based on the external force data and the robot's impedance controller. That is, if the external force data is not within the preset dead zone, the step of calculating the pose compensation amount based on the external force data and the robot's impedance controller is executed.
[0149] Furthermore, in one feasible implementation, if the external force data is within a preset dead zone, the displacement compensation amount is not calculated.
[0150] This implementation reduces unnecessary calculations in the robot control process and lowers the consumption of the robot's computing resources by calculating the pose compensation amount when the external force data is not within the preset dead zone.
[0151] Furthermore, in one feasible embodiment, step S40: controlling the robot's movement according to the actual pose includes steps S401-S402.
[0152] Step S401: Calculate the joint angles based on the kinematic model and the actual pose, and convert the joint angles into pulse information and send them to the robot's controller.
[0153] The joint angles are calculated based on the kinematic model and the actual pose, and then converted into pulse information and sent to the robot's controller. For example, in one feasible implementation, the joint angles are converted into pulse values and sent to the robot's controller.
[0154] Step S402: The controller drives the robot to move according to the received pulse information.
[0155] The robot's controller drives the robot to move according to the received pulse information.
[0156] In this embodiment, the control relationship of the robot's impedance controller and the robot's external force data are obtained; the control relationship is transformed to obtain the transfer function between the robot's external force data and the robot's pose compensation amount; and the pose compensation amount corresponding to the external disturbance force is calculated based on the transfer function. In this embodiment, the pose compensation amount corresponding to the external disturbance force is calculated based on the external force data, and the robot's pose is corrected through the pose compensation amount. This enables the robot's actual pose to adapt to the external disturbance force, avoiding rigid contact between the robot and the outside world, thereby preventing damage to the robot body due to rigid contact.
[0157] Exemplarily, in one feasible implementation, reference is made to Figure 6 The robot control process can be as follows:
[0158] S1: Determine the theoretical joint torque τ of each joint of the robot based on the preset dynamic model. c In establishing the dynamic model, the following inertial force term was considered: Centripetal force term G(θ), gravity term and friction term
[0159] The actual joint torque τ of each joint of the robot is calculated based on the joint motor current of each joint. a .
[0160] S2: For any target joint among the robot's joints, the difference between the theoretical joint torque and the actual joint torque of the target joint is taken as the joint torque Δτ of the target joint.
[0161] S3: Based on the actual joint angles of each joint of the robot and the inverse of the Jacobian transpose matrix, map the torques of each joint to the actual end-effector torque F of the robot in Cartesian space. e Obtain the expectation data F d .
[0162] S4: The difference between the expected force data and the actual end torque is used as the robot's external force data ΔF.
[0163] S5: The pose compensation amount ΔX is calculated based on external force data and the robot's impedance controller.
[0164] S6: Add the pose compensation amount to the desired pose X d Obtain the actual pose X, and control the robot's movement according to the actual pose.
[0165] Exemplarily, in one feasible implementation, reference is made to Figure 7 The robot control system includes a teach pendant PC (personal computer) platform, a compliant controller, and a robot controller.
[0166] The compliant controller includes a kinematics module, a dynamics module, and an impedance control module. In this embodiment, the dynamics module calculates the disturbance force / torque of the external environment on the robot (i.e., external force data), and then the soft float control module calculates the pose compensation amount corresponding to the disturbance force / torque. The pose compensation amount is superimposed on the desired pose to obtain the actual pose. The kinematics module solves the actual pose into joint angles (i.e., the pose compensation amount corresponding to the external disturbance force is calculated based on the external force data and the robot's impedance controller).
[0167] In this embodiment, after the joint angle is converted into pulse information, it is sent to the robot controller via the EtherCAT bus. The controller then controls the servo motor to drive the robot to move (that is, the actual pose is determined based on the pose compensation amount corresponding to the external disturbance force and the preset pose, and the robot is controlled to move according to the actual pose).
[0168] In this embodiment, the joint angles are also sent to the teach pendant for manual demonstration or recording of the robot's movement, actions, and trajectory when performing tasks.
[0169] Exemplarily, in one feasible implementation, reference is made to Figure 8 The specific process of robot control can be:
[0170] S1: First, perform system initialization.
[0171] S2: Check if the robot system is normal, specifically check if the communication status between the various modules of the robot is normal, and whether the status of the robot body and the controller is normal.
[0172] S3: Enable the robot's soft float function, that is, enable the robot's compliant control, and calculate the external disturbance force / torque on the robot within this control cycle (that is, determine the theoretical joint torque and the actual joint torque of each joint of the robot when the robot performs the target action; determine the external force data of the robot when the external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque).
[0173] S4: Pre-set the dead zone for the robot's soft floating impedance control, i.e., the preset dead zone. Determine whether the calculated disturbance force / torque is within the preset dead zone. If it is within the preset dead zone, continue to S5 (i.e., if the external force data is not within the preset dead zone, execute the step of calculating the pose compensation amount based on the external force data and the robot's impedance controller); if it is not within the preset dead zone, the pose compensation amount is not calculated in the current control cycle until the disturbance force / torque is calculated again in the next cycle.
[0174] S5: Calculate the pose compensation amount based on the calculated disturbance force / torque and the impedance controller (that is, calculate the pose compensation amount based on the external force data and the robot's impedance controller).
[0175] S6: The pose compensation amount is superimposed on the desired pose to obtain the corrected actual pose to which the robot will move (that is, the actual pose is determined based on the pose compensation amount corresponding to the external disturbance force and the preset pose).
[0176] S7: Drive the robot to move according to the actual pose. Specifically, calculate the joint angles of the actual pose through a kinematic model and convert them into pulse information to send to the robot controller. Then, the controller controls the servo motor to drive the robotic arm body to move to the specified position (that is, control the robot to move according to the actual pose).
[0177] In this embodiment, compliant control of the robot in Cartesian space can be achieved, and the specific steps are as follows:
[0178] Step 1: First, initialize the system, check whether the communication status between the various modules of the six-joint robot is normal, and whether the status of the robot body and controller is normal. Then, calculate the target expected trajectory of the robot's end effector motion according to the given task requirements.
[0179] Step 2: Activate the robot's soft float function. Within this cycle, calculate the joint torque based on the actual and theoretical joint torques of each joint using the joint motor current and dynamic model. The joint torque calculation formula can be:
[0180] Δτ=τ c -τ a
[0181] Where, τ c τ represents the theoretical joint torque. a Δτ represents the actual joint torque; Δτ represents the external force data.
[0182] The joint torques are mapped to the actual end-effector torques of the robot in Cartesian space, and the desired force data of the robot in Cartesian space is obtained. The specific formula for calculating the actual end-effector torque can be:
[0183] F e =J -T (θ)Δτ
[0184] Where Δτ represents the disturbance torque; J -T (θ) represents the inverse of the Jacobi transpose matrix; θ represents the actual joint angle.
[0185] The difference between the expected force data and the actual end moment is used as the external force data. The specific formula for calculating the external force data can be:
[0186] ΔF=F d -F e
[0187] Among them, F e F represents the actual end torque. d This is data on expectation power.
[0188] Step 3: Pre-set the preset dead zone for the robot's Cartesian space impedance control, and determine whether the calculated disturbance force / torque exceeds the preset dead zone. If it is not within the preset dead zone, continue to Step 4; if it is within the preset dead zone, the pose compensation amount is not calculated in the current control cycle until the disturbance force / torque is calculated again in the next cycle.
[0189] Step 4: Based on the calculated disturbance force / torque and impedance controller, calculate the Cartesian pose compensation amount and superimpose it into the desired Cartesian pose to obtain the corrected actual Cartesian pose to which the robot will move.
[0190] Step 5: Calculate the joint angles of the corrected actual Cartesian pose using the inverse kinematics model, and convert them into pulse information to send to the robot controller, thereby controlling the servo motor to drive the robotic arm to the designated position.
[0191] In this embodiment, compliant control in the robot joint space can also be achieved, and the specific steps are as follows:
[0192] Step 1: First, initialize the system, checking the communication status between the various modules of the six-joint robot and the status of the robot body and controller. Calculate the desired trajectory of the robot's end effector based on the given task requirements.
[0193] Step 2: Activate the robot's soft float function. Within this cycle, based on the joint motor current and dynamic model, calculate the actual and theoretical joint torques of each joint of the robot, and then calculate the external interference forces / torques (i.e., external force data) acting on each joint in the robot's joint space. The calculation formula can be:
[0194] Δτ=τ c -τ a
[0195] Where, τ c τ represents the theoretical joint torque. a Δτ represents the actual joint torque; Δτ represents the external force data.
[0196] Step 3: Pre-set the preset dead zone for the robot's Cartesian space impedance control, and determine whether the calculated disturbance force / torque exceeds the preset dead zone. If it is not within the preset dead zone, continue to Step 4; if it is within the preset dead zone, the pose compensation amount is not calculated in the current control cycle until the disturbance force / torque is calculated again in the next cycle.
[0197] Step 4: Based on the calculated environmental disturbance force / torque and impedance controller, calculate the joint angle compensation amount and add it to the desired joint angle to obtain the corrected actual joint angle to which the robot should move.
[0198] Step 5: Convert the corrected actual joint angles into pulse information and send it to the robot controller, thereby controlling the servo motor to drive the robotic arm to the designated position.
[0199] Furthermore, this application also proposes a robot control device, referring to... Figure 6 The robot control device includes:
[0200] The first determining module 10 is used to determine the theoretical joint torque and the actual joint torque of each joint of the robot when the robot performs the target action.
[0201] The second determining module 20 is used to determine the external force data of the robot when the external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque;
[0202] The calculation module 30 is used to calculate the pose compensation amount corresponding to the external interference force based on the external force data and the impedance controller of the robot.
[0203] The control module 40 is used to determine the actual pose based on the pose compensation amount corresponding to the external disturbance force and the preset pose, and to control the robot to move according to the actual pose.
[0204] Furthermore, the first determining module 10 is also used for:
[0205] The theoretical joint torques of each joint of the robot are determined based on a pre-set dynamic model.
[0206] The actual joint torque of each joint of the robot is calculated based on the joint motor current of each joint.
[0207] Furthermore, the second determining module 20 is also used for:
[0208] For any target joint among the joints of the robot, perform arithmetic operations on the theoretical joint torque and the actual joint torque of the target joint to obtain the calculation result;
[0209] The arithmetic result is used as the external force data of the target joint when an external disturbance force is applied to the robot.
[0210] Furthermore, the robot includes a robot body and a robot end effector; the second determining module 20 is also used for:
[0211] Based on the theoretical joint torques and the actual joint torques, the disturbance torques corresponding to each joint of the robot when the external disturbance force acts on the robot body are calculated.
[0212] The actual end torque of the robot's end effector when the external interference force acts on the robot body is determined based on each of the aforementioned interference torques.
[0213] Obtain the desired force data of the robot, and based on the desired force data and the actual end torque, determine the external force data of the robot end when the external disturbance force acts on the robot body.
[0214] Furthermore, the computing module 30 is also used for:
[0215] Obtain the control formula of the robot's impedance controller and the external force data of the robot;
[0216] The control relationship is transformed to obtain the transfer function between the external force data of the robot and the pose compensation amount of the robot;
[0217] The pose compensation amount corresponding to the external disturbance force is calculated based on the transfer function.
[0218] Furthermore, the robot control device also includes a detection module for:
[0219] Detect whether the external force data is within a preset dead zone;
[0220] If the external force data is not within the preset dead zone, then the step of calculating the pose compensation amount based on the external force data and the robot's impedance controller is executed.
[0221] Furthermore, the controlled module 40 is also used for:
[0222] The joint angles are calculated based on the kinematic model and the actual pose, and the joint angles are converted into pulse information and sent to the robot's controller.
[0223] The controller drives the robot to move according to the received pulse information.
[0224] The various embodiments of the robot control device of this application can be referred to the various embodiments of the robot control method of this application, and will not be repeated here.
[0225] Furthermore, embodiments of this application also propose a computer-readable storage medium storing a robot control program, which, when executed by a processor, implements the steps of the robot control method described below.
[0226] The embodiments of the robot control device and computer-readable storage medium of this application can be referred to the embodiments of the robot control method of this application, and will not be repeated here.
[0227] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0228] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0229] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the execution of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0230] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A robot control method, characterized in that, The robot control method includes the following steps: Determine the theoretical joint torque and the actual joint torque of each joint of the robot when the robot performs the target action; Based on the theoretical joint torque and the actual joint torque, determine the external force data of the robot when external disturbance forces act on it; The pose compensation amount corresponding to the external disturbance force is calculated based on the external force data and the robot's impedance controller. The actual pose is determined based on the pose compensation amount corresponding to the external disturbance force and the preset pose, and the robot movement is controlled according to the actual pose. The pose compensation amount is the pose that the robot needs to adjust. The robot includes a robot body and a robot end effector; the step of determining the external force data of the robot when an external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque includes: Based on the theoretical joint torques and the actual joint torques, the disturbance torques corresponding to each joint of the robot when the external disturbance force acts on the robot body are calculated. Based on the actual joint angles of each joint of the robot and the inverse of the Jacobian transpose matrix, any target interference torque among the interference torques is mapped to the actual end torque, or the processed interference torque obtained by preprocessing the interference torques is mapped to the actual end torque. Obtain the desired force data of the robot, and based on the desired force data and the actual end torque, determine the external force data of the robot end when the external disturbance force acts on the robot body.
2. The robot control method as described in claim 1, characterized in that, The step of determining the theoretical joint torque and the actual joint torque of each joint of the robot when the robot performs the target action includes: The theoretical joint torques of each joint of the robot are determined based on a pre-set dynamic model. The actual joint torque of each joint of the robot is calculated based on the joint motor current of each joint.
3. The robot control method as described in claim 1, characterized in that, The step of determining the external force data of the robot when an external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque includes: For any target joint among the joints of the robot, perform arithmetic operations on the theoretical joint torque and the actual joint torque of the target joint to obtain the calculation result; The calculation result is used as the external force data of the target joint when external disturbance forces act on the robot.
4. The robot control method as described in claim 1, characterized in that, The step of calculating the pose compensation amount corresponding to the external disturbance force based on the external force data and the robot's impedance controller includes: Obtain the control formula of the robot's impedance controller and the external force data of the robot; The control relationship is transformed to obtain the transfer function between the external force data of the robot and the pose compensation amount of the robot; The pose compensation amount corresponding to the external disturbance force is calculated based on the transfer function.
5. The robot control method as described in claim 1, characterized in that, After the step of determining the external force data of the robot when external disturbance forces act on the robot based on the theoretical joint torque and the actual joint torque, the method further includes: Detect whether the external force data is within a preset dead zone; If the external force data is not within the preset dead zone, then the step of calculating the pose compensation amount based on the external force data and the robot's impedance controller is executed.
6. The robot control method according to any one of claims 1 to 5, characterized in that, The step of controlling the robot's movement according to the actual pose includes: The joint angles are calculated based on the kinematic model and the actual pose, and the joint angles are converted into pulse information and sent to the robot's controller. The controller drives the robot to move according to the received pulse information.
7. A robot control device, characterized in that, The robot control device includes: The first determining module is used to determine the theoretical joint torque and the actual joint torque of each joint of the robot when the robot performs the target action. The second determining module is used to determine the external force data of the robot when an external disturbance force acts on the robot based on the theoretical joint torque and the actual joint torque; The calculation module is used to calculate the pose compensation amount corresponding to the external disturbance force based on the external force data and the robot's impedance controller. The control module is used to determine the actual pose based on the pose compensation amount corresponding to the external disturbance force and the preset pose, and to control the robot to move according to the actual pose. The pose compensation amount is the pose that the robot needs to adjust. The robot includes a robot body and a robot end effector; the second determining module is further configured to: Based on the theoretical joint torques and the actual joint torques, the disturbance torques corresponding to each joint of the robot when the external disturbance force acts on the robot body are calculated. Based on the actual joint angles of each joint of the robot and the inverse of the Jacobian transpose matrix, any target interference torque among the interference torques is mapped to the actual end torque, or the processed interference torque obtained by preprocessing the interference torques is mapped to the actual end torque. Obtain the desired force data of the robot, and based on the desired force data and the actual end torque, determine the external force data of the robot end when the external disturbance force acts on the robot body.
8. A robot control device, characterized in that, The robot control device includes: a memory, a processor, and a robot control program stored in the memory and executable on the processor, wherein the robot control program, when executed by the processor, implements the steps of the robot control method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a robot control program, which, when executed by a processor, implements the steps of the robot control method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Collaborative robot dragging teaching control method, device and equipment based on current method
CN112894821A
Impedance control method for slagging-off robot based on Q-learning
CN114571444A