Teaching method and system for robot zero force drag
By acquiring joint position and velocity in real time and calculating gravity and friction compensation torque using dynamics and friction models, the problem of cumbersome operation and high cost of drag-and-drop teaching in traditional robot teaching methods is solved, realizing zero-force drag-and-drop teaching and reducing the difficulty of operation and physical burden.
Patent Information
- Application Number
- CN202511446693.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-11
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2045-10-11
AI Technical Summary
Traditional robot teaching methods are cumbersome to operate and have low programming efficiency. They are especially time-consuming in scenarios with complex paths and high precision requirements. Furthermore, existing drag-and-drop teaching solutions suffer from high costs, insufficient flexibility, or poor user experience.
By acquiring joint position and velocity in real time, and using dynamic and friction models to calculate gravity compensation torque and friction compensation torque, the static and dynamic resistance of the robot is counteracted, allowing the operator to drag the robot with only a force close to zero, thus achieving zero-force drag teaching.
It greatly reduces the difficulty of operation and physical burden, realizes zero-force drag teaching, is suitable for multi-joint robots, and has good versatility and real-time control capabilities.
Smart Images

Figure CN120921336B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robots, in particular to a robot zero-force dragging teaching method and system. BACKGROUND
[0002] Traditional robot teaching methods, such as point operation using a teaching pendant or offline programming, have problems such as complicated operation, low programming efficiency, and high skill requirements for operators. In particular, in complex path and high precision scenarios, these methods are time-consuming and difficult to intuitively generate an optimal path.
[0003] To simplify the teaching process and reduce the operation threshold, drag teaching has emerged. Drag teaching allows the operator to directly pull the robot end effector or mechanical arm by hand, and the robot generates a program by recording the motion trajectory. This hands-on teaching method is intuitive and natural, and does not require professional programming knowledge, significantly improving teaching efficiency.
[0004] However, implementing smooth and labor-saving drag teaching faces significant technical challenges. The robot's mechanical arm itself has significant mass, and there are static friction, Coulomb friction, and viscous friction at each joint. If these forces are not compensated, the operator will need to exert a lot of force to overcome the robot's gravity and friction, making the dragging process cumbersome and laborious, completely unable to achieve the intuitive feeling of zero force, losing the core advantage of drag teaching.
[0005] In the prior art, the schemes for implementing drag teaching mainly fall into two categories:
[0006] The first category installs a force sensor at the end of the robot to directly detect the external force exerted by the operator and convert it into a motion instruction for the robot. Although this method is effective, it has obvious shortcomings: first, high-precision force sensors are expensive, increasing the overall cost of the robot system; second, force sensors can usually only detect end-of-arm forces, and compensation for the robot's own gravity and joint friction still relies on complex dynamics models, resulting in low system integration; third, the sensor installation position is fixed and cannot sense the force on the rod beyond the installation position, lacking flexibility.
[0007] The second category estimates the joint output torque by detecting the current of the servo motor, thereby inferring the operator's dragging intention. This method eliminates the need for external force sensors, reducing costs. However, the core difficulty lies in the fact that the motor current not only contains the torque used to overcome the external force of dragging, but also contains the torque used to overcome the robot's own gravity and joint friction, resulting in a dragging that is jerky, lagging, or exhibiting obvious stickiness at low speeds and during reversals, resulting in a poor experience. SUMMARY
[0008] In view of the defects, the embodiment of the present application discloses a robot zero-force dragging teaching method and system, which greatly reduces the operation difficulty and physical burden, and realizes zero-force dragging teaching.
[0009] The first aspect of the embodiment of the present application discloses a robot zero-force dragging teaching method, comprising:
[0010] In response to the dragging external force applied by the operator, the joint position and the joint speed are acquired in real time;
[0011] The gravity compensation torque is determined based on the joint position, the friction compensation torque is determined based on the joint speed, and the command torque is obtained according to the gravity compensation torque and the friction compensation torque;
[0012] The robot is controlled to perform the dragging teaching through the command torque.
[0013] The embodiment of the present application offsets the static resistance and the dynamic resistance through gravity compensation and friction compensation respectively, so that the operator only needs to apply a force close to zero to drag the robot, thereby greatly reducing the operation difficulty and physical burden and realizing zero-force dragging teaching. Moreover, the embodiment of the present application is applicable to multi-joint robots and does not depend on specific structures or sensors, and has good universality.
[0014] As an optional implementation, in the first aspect of the embodiment of the present application, the gravity compensation torque is determined based on the joint position, comprising:
[0015] The gravity compensation torque of each joint is calculated through a dynamics model:
[0016]
[0017] Alternatively, the gravity compensation torque of each joint is obtained through a recursive Newton-Euler algorithm;
[0018] wherein, is the gravity compensation torque of the i th joint, n is the total number of joints, G is a gravity function, is a joint position vector, is a position Jacobian matrix of the mass center of the k th connecting rod, T is a transpose of a matrix, is the mass of the k th connecting rod, and g is the gravity acceleration.
[0019] Using the dynamics model, the gravity compensation torque required by each joint can be accurately calculated according to the actual structure parameters (i.e. mass, mass center, Jacobian matrix, etc.) of the robot, which is suitable for different models and is especially suitable for complex configuration robots. The calculation complexity of the recursive Newton-Euler algorithm is greatly reduced, the calculation speed is fast, and it is particularly suitable for real-time systems and meets the real-time control requirements.
[0020] As an optional implementation, in the first aspect of the embodiment of the present application, the friction compensation torque is determined based on the joint speed, and the determination includes:
[0021] The friction compensation torque of each joint is determined according to the joint speed of each joint:
[0022]
[0023] Wherein, is the friction compensation torque of the i th joint, is a friction function, is a joint speed vector, is the joint speed of the i th joint, is a viscous friction coefficient, is a coulomb friction coefficient, is a sign function.
[0024] The viscous and coulomb friction model is a classical and effective friction modeling method, which has small calculation amount and is suitable for real-time control. The viscous friction coefficient and the coulomb friction coefficient can be calibrated according to the actual robot, or can be calibrated by a genetic algorithm, so as to adapt to different temperature conditions.
[0025] As an optional implementation, in the first aspect of the embodiment of the present application, the command torque is obtained according to the gravity compensation torque and the friction compensation torque, and the obtaining includes:
[0026] The sum of the gravity compensation torque and the friction compensation torque corresponding to each joint is taken as the command torque of each joint:
[0027]
[0028] Wherein, is the command torque of the i th joint, is the gravity compensation torque of the i th joint, is the friction compensation torque of the i th joint.
[0029] After the two compensation torques are superimposed, the command torque for controlling the actuator of each joint is obtained, so as to offset the static resistance and the dynamic resistance of each joint, and the robot as a whole shows zero impedance characteristics, and the operator almost feels no weight and friction of the robot.
[0030] As an optional implementation, in the first aspect of the embodiment of the present application, the robot is controlled to perform a drag teaching through the command torque, and the controlling includes:
[0031] The command torque is converted into a command current:
[0032]
[0033] wherein, is the command current of the i th joint, is the rotation torque coefficient;
[0034] outputting the command current to the actuator corresponding to each joint to make the robot perform the drag teaching.
[0035] rotation torque coefficient The rotation torque coefficient can be obtained by trial, and the rotation torque coefficients corresponding to different motors are not necessarily the same. The command torque is converted into the command current of the input actuator, so that smooth torque output of the motor can be realized, and shaking or impact can be avoided.
[0036] As an optional implementation, in the first aspect of the embodiment of the present application, the method further comprises:
[0037] real-time acquisition of the torque change rate and the joint position of each joint of the robot;
[0038] when the torque change rate is greater than the preset change rate, or / and, the joint position is less than the preset lower limit of the position or greater than the preset upper limit of the position, controlling the robot to stop urgently.
[0039] by the torque mutation protection mechanism and the position boundary protection mechanism to ensure the operation safety of the robot, when or / and, , the hardware-level power-off protection mechanism is quickly responded to, the robot is controlled to stop urgently, and damage or loss of control of the robot is avoided.
[0040] As an optional implementation, in the first aspect of the embodiment of the present application, the method further comprises:
[0041] determination of the guide torque according to the joint position, the joint speed, and the target joint position and the target joint speed of each joint:
[0042]
[0043] wherein, is the guide torque of the i th joint, and is the joint position and the target joint position of the i th joint, respectively, and is the joint speed and the target joint speed of the i th joint, respectively; and are the stiffness coefficient and the damping coefficient, respectively, and:
[0044]
[0045]
[0046] in, Based on the basic stiffness coefficient, Based on the basic damping coefficient, This represents the scalar amplitude of the joint position deviation. This represents the scalar amplitude of the joint velocity. This is the stiffness attenuation coefficient. This is the damping gain coefficient; , ;
[0047] The command torque is obtained based on the gravity compensation torque and friction compensation torque, including:
[0048]
[0049] in, This is the command torque for the i-th joint. Let the gravitational compensation torque be the torque of the i-th joint. Let be the friction compensation torque of the i-th joint.
[0050] The guiding torque helps the operator guide the robot to the target position, which is especially suitable for teaching path planning scenarios. The stiffness and damping coefficients are adaptively adjusted with deviation and speed, ensuring dragging flexibility while providing the necessary guiding force.
[0051] when The smaller the value, the smaller the deviation, which requires high stiffness to resist disturbances; that is, the stiffness coefficient is required at this time. The larger the value, the more accurate the positioning, and the less likely it is to oscillate around the target point. When the stiffness coefficient is larger, The smaller the size, the more flexible it is, and the less it will be, thus avoiding excessive contact with the environment and the resulting large impact. The value is chosen differently depending on the specific scenario. For scenarios requiring high precision but low efficiency, it can be increased. For scenarios where low precision but high efficiency are required, the value of should be appropriately reduced. The value. When moving at high speed, that is... When the value is larger, the damping coefficient is higher. The larger the value, the more it suppresses jitter.
[0052] A second aspect of this invention discloses a teaching system for zero-force dragging of a robot, comprising:
[0053] The acquisition unit is used to acquire joint position and joint speed in real time in response to the dragging force applied by the operator.
[0054] a computing unit configured to determine a gravity compensation torque based on the joint position, determine a friction compensation torque based on the joint velocity, and obtain a command torque according to the gravity compensation torque and the friction compensation torque;
[0055] a driving unit configured to control the robot to perform the drag teach by the command torque.
[0056] The embodiment of the present application offsets static resistance and dynamic resistance by gravity compensation and friction compensation respectively, so that the operator only needs to exert a force close to zero to drag the robot, greatly reducing the operation difficulty and physical burden, and realizing zero force drag teach. It can be applied to multi-joint robots, and does not depend on specific structures or sensors, and has good universality.
[0057] The third aspect of the embodiment of the present application discloses an electronic device, comprising: a memory storing executable program code; a processor coupled with the memory; the processor invokes the executable program code stored in the memory, and is configured to execute the robot zero force drag teach method disclosed in the first aspect of the embodiment of the present application.
[0058] The fourth aspect of the embodiment of the present application discloses a computer readable storage medium storing a computer program, wherein the computer program causes a computer to execute the robot zero force drag teach method disclosed in the first aspect of the embodiment of the present application. BRIEF DESCRIPTION OF DRAWINGS
[0059] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiments will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.
[0060] Figure 1 is a flowchart of the robot zero force drag teach method disclosed by the embodiment of the present application;
[0061] Figure 2 is a structural schematic diagram of a robot zero force drag teach system provided by the embodiment of the present application;
[0062] Figure 3 is a structural schematic diagram of an electronic device provided by the embodiment of the present application. DETAILED DESCRIPTION
[0063] With reference to the drawings and the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all the embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without creative efforts belong to the scope of the present application.
[0064] It should be noted that the terms first, second, third, fourth and the like in the specification and claims of the present application are used to distinguish different objects, and are not used to describe a particular order. The terms of the embodiments of the present application include and have as well as any variations thereof, and are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0065] Embodiment one
[0066] Please refer to Figure 1 , Figure 1 is a flowchart of the robot zero-force dragging teaching method disclosed in the embodiments of the present application. Wherein, the execution subject of the method described in the embodiments of the present application is an execution subject composed of software or / and hardware, which can receive relevant information through wired or / and wireless mode, and can send certain instructions. Of course, it can also have certain processing function and storage function. The execution subject can control multiple devices, such as remote physical server or cloud server and related software, or local host or server and related software for related operation of devices placed in a certain place, etc. In some scenarios, it can also control multiple storage devices, which can be placed in the same place or different places. As Figure 1 shown, the robot zero-force dragging teaching method includes the following steps:
[0067] S110, in response to the external force dragged by the operator, the joint position and the joint speed are acquired in real time.
[0068] The external force applied to the robot can also be detected by the actuator or other position set Hall element or position sensor, etc. When it is detected that the operator applies external force to the robot, the acquisition mechanism is triggered to acquire the joint position and the joint speed. The joint position and the joint speed can be acquired by the Hall element, or can be acquired by the position sensor and the speed sensor respectively, which is not limited here.
[0069] In the present application, only a very small force is needed to achieve the dragging demonstration of the robot. In order to avoid the misoperation of the humanoid robot caused by environmental factors or other factors, in the preferred embodiment of the present application, the collection mechanism can be triggered in two ways. One is to preliminarily wake up the robot through physical means such as a button or wireless means such as voice, and then trigger the collection mechanism under the condition of external force. The other way is to preliminarily wake up the robot when the external force applied to the robot is not less than the preset pressure threshold and the duration of the external force reaches the preset time threshold, and then trigger the collection mechanism under the condition of external force.
[0070] S120, determining a gravity compensation torque based on the joint position, determining a friction compensation torque based on the joint velocity, and obtaining a command torque according to the gravity compensation torque and the friction compensation torque.
[0071] The gravity compensation torque is determined by the joint position, which can be achieved by a dynamics model. Using the dynamics model, accurate modeling can be performed according to the actual structural parameters of the robot (including mass, center of mass, Jacobian matrix, etc.), which is suitable for different models and can accurately calculate the gravity compensation torque required for each joint, especially for complex configuration robots.
[0072] Specifically, a dynamics model is constructed according to the joint position, link mass and Jacobian matrix, and the gravity compensation torque of each joint is calculated:
[0073]
[0074] wherein, is the gravity compensation torque of the i th joint, n is the total number of joints, G is the gravity function, is the joint position vector, is the position Jacobian matrix of the k th link center of mass, T is the transpose of the matrix, is the mass of the k th link, g is the acceleration of gravity.
[0075] It should be noted that the summation formula is used because the gravity compensation torque of a joint needs to compensate for the gravity of the corresponding link of the joint and the equivalent torque transmitted through the mechanical structure downstream, that is, the gravity of all downstream links. Taking a six-axis robot as an example, because all links are located downstream of joint 1, the gravity compensation torque of joint 1 needs to compensate for the gravity of the entire robot, and the gravity compensation torque of joint 6 only compensates for the gravity of the end link.
[0076] In order to greatly reduce the computational complexity to meet the real-time control requirements of real-time systems, in other embodiments, the gravity compensation torque of each joint can also be obtained by recursive Newton-Euler algorithm:
[0077]
[0078] wherein, is the gravity torque of the i th joint.
[0079] By using the recursive Newton-Euler algorithm, the computational complexity can be reduced from O(n 2 ) to O(n).
[0080] The friction compensation torque can be realized by the viscous and Coulomb friction model:
[0081]
[0082] wherein, is the friction compensation torque of the i th joint, is the friction function, is the joint velocity vector, is the joint velocity of the i th joint, is the viscous friction coefficient, is the Coulomb friction coefficient, is the sign function.
[0083] The viscous and Coulomb friction model is a classic and effective friction modeling method, which has small computational amount and is suitable for real-time control. The viscous friction coefficient and the Coulomb friction coefficient can be calibrated according to the actual robot, or can be calibrated by genetic algorithm, etc. to adapt to different temperature conditions.
[0084] After superimposing the two compensation torques, the command torque for controlling each joint actuator is obtained, so as to offset the static resistance and dynamic resistance of each joint, so that the robot as a whole shows zero impedance characteristics, and the operator almost feels the weight and friction of the robot. That is, the sum of the gravity compensation torque and the friction compensation torque corresponding to each joint is taken as the command torque of each joint:
[0085]
[0086] wherein, is the command torque of the i th joint, is the gravity compensation torque of the i th joint, is the friction compensation torque of the i th joint.
[0087] In some drag teaching implementations with path planning, a guide torque can also be added to realize the consistency of the robot and the target position, while also being able to improve the control accuracy, and avoid impact and suppress vibration and other capabilities.
[0088] Specifically, the guide torque can be determined according to the joint position, the joint speed, and the target joint position and the target joint speed of each joint:
[0089]
[0090] wherein, is the guide torque of the i th joint, and is the joint position and the target joint position of the i th joint, respectively, and is the joint speed and the target joint speed of the i th joint, respectively, and are the stiffness coefficient and the damping coefficient, respectively.
[0091] The stiffness coefficient and the damping coefficient adopt an adaptive adjustment mode with respect to the deviation and the speed, which ensures the flexibility of dragging and provides the necessary guide force, i.e.:
[0092]
[0093]
[0094] wherein, is the basic stiffness coefficient, is the basic damping coefficient, is the scalar amplitude of the joint position deviation, is the scalar amplitude of the joint speed, is the stiffness decay coefficient, is the damping gain coefficient. , .
[0095] When is smaller, the stiffness coefficient is larger, which ensures the positioning accuracy and avoids oscillation near the target point, and when is larger, the stiffness coefficient is smaller, which enhances the compliance and avoids large impact force caused by excessive contact with the environment, the value of is selected differently according to specific scenarios. For scenarios with high accuracy and low efficiency, the value of can be increased, and for scenarios with low accuracy but high efficiency requirements, the value of can be appropriately reduced. When the high-speed motion, i.e. is larger, the damping coefficient is larger, thereby suppressing the jitter.
[0096] The command torque is calculated according to the gravity compensation torque, the friction compensation torque, and the guide torque, including:
[0097]
[0098] S130, controlling the robot to perform the drag teaching by the command torque.
[0099] The command torque is an output parameter of the actuator, which needs to be converted into a current value that can control the actuator to output the corresponding command torque in use, denoted as command current:
[0100]
[0101] wherein, is the command current of the i-th joint, is a rotation torque coefficient, which can be obtained by experiment, and different motors correspond to different rotation torque coefficients.
[0102] The command torque is converted into the command current input to the actuator, and the command current is output to the actuator corresponding to each joint, so that the robot performs the drag teaching.
[0103] In the process of robot drag teaching, a safety protection mechanism needs to be added to avoid damage or loss of control of the robot. Here, the torque change rate and the joint position are mainly used to realize torque mutation protection and position boundary protection.
[0104] The torque mutation protection mechanism and the position boundary protection mechanism are used to ensure the safety of the robot, and when or / and, , the hardware level power-off protection mechanism quickly responds to control the robot to stop urgently, avoiding damage or loss of control of the robot.
[0105] The embodiment of the application offsets static resistance and dynamic resistance by gravity compensation and friction compensation respectively, so that the operator only needs to exert a force close to zero to drag the robot, greatly reducing the operation difficulty and physical burden, and realizing zero force drag teaching. It can be applied to multi-joint robots and does not depend on specific structures or sensors, and has good universality.
[0106] Embodiment two
[0107] Please refer to Figure 2 , Figure 2 is a structural schematic diagram of the robot zero force drag teaching system disclosed by the embodiment of the application. As Figure 2 shown, the robot zero force drag teaching system can include:
[0108] The acquisition unit 210 is configured to acquire joint positions and joint velocities in real time in response to a dragging external force applied by an operator;
[0109] The calculation unit 220 is configured to determine a gravity compensation torque based on the joint positions, determine a friction compensation torque based on the joint velocities, and obtain a command torque according to the gravity compensation torque and the friction compensation torque;
[0110] The driving unit 230 is configured to control the robot to perform the dragging demonstration by the command torque.
[0111] The calculation unit 220 can include:
[0112] The gravity compensation torque of each joint is calculated by a dynamic model:
[0113]
[0114] Alternatively, the gravity compensation torque of each joint is obtained by a recursive Newton-Euler algorithm;
[0115] wherein, is the gravity compensation torque of the i th joint, n is the total number of joints, G is a gravity function, is a joint position vector, is a position Jacobian matrix of the k th link mass center, T is a transpose of a matrix, is the mass of the k th link, and g is the acceleration of gravity.
[0116] The friction compensation torque of each joint is determined according to the joint velocity:
[0117]
[0118] wherein, is the friction compensation torque of the i th joint, is a friction function, is a joint velocity vector, is the joint velocity of the i th joint, is a viscous friction coefficient, is a Coulomb friction coefficient, is a sign function.
[0119] The sum of the gravity compensation torque and the friction compensation torque corresponding to each joint is taken as the command torque of each joint:
[0120]
[0121] wherein, is the command torque of the i th joint, is the gravity compensation torque of the i th joint, is the friction compensation torque of the i th joint.
[0122] The driving unit 230 can include:
[0123] The command torque is converted into a command current:
[0124]
[0125] wherein, is the command current of the i th joint, is a rotation torque coefficient;
[0126] The command current is output to the actuator corresponding to each joint, so that the robot performs the drag teaching.
[0127] Rotation torque coefficient The rotation torque coefficient can be obtained by trial and error. Different motors correspond to different rotation torque coefficients. Converting the command torque into the input current of the actuator (i.e., the command current) can achieve smooth torque output of the motor and avoid shaking or impact.
[0128] Preferably, the teaching system can further include a protection unit configured to acquire the torque change rate of each joint of the robot and the joint position in real time, and control the robot to stop urgently when the torque change rate is greater than a preset torque change rate, or / and the joint position is less than a preset lower limit of the joint position or greater than a preset upper limit of the joint position.
[0129] The teaching system can further include a guiding unit configured to determine a guiding torque according to the joint position, the joint speed, the target joint position and the target joint speed of each joint:
[0130]
[0131] wherein, is the guiding torque of the i th joint, and is the joint position and the target joint position of the i th joint, respectively, and is the joint speed and the target joint speed of the i th joint, respectively; and are a stiffness coefficient and a damping coefficient, respectively, and:
[0132]
[0133]
[0134] wherein, is a basic stiffness coefficient, is a basic damping coefficient, a scalar amplitude of the joint position deviation, a scalar amplitude of the joint velocity, a stiffness decay coefficient, a damping gain coefficient; , ;
[0135] a commanded torque for the i-th joint,
[0136]
[0137] wherein, a commanded torque for the i-th joint, a gravity compensation torque for the i-th joint, a friction compensation torque for the i-th joint.
[0138] Embodiment Three
[0139] Please refer to Figure 3 , Figure 3 is a structural schematic diagram of an electronic device disclosed by an embodiment of the present application. The electronic device can be a computer, a server, and the like, and of course, under certain circumstances, can also be a smart device such as a mobile phone, a tablet computer, and a monitoring terminal, and an image acquisition device with processing function. As shown in the figure, the electronic device can include: Figure 3
[0140] a memory 310 storing executable program codes;
[0141] a processor 320 coupled with the memory 310;
[0142] The processor 320 calls the executable program codes stored in the memory 310 to execute part or all of the steps in the teaching method of robot zero-force dragging in the embodiment one.
[0143] The embodiment of the present application discloses a computer readable storage medium storing a computer program, wherein the computer program causes a computer to execute part or all of the steps in the teaching method of robot zero-force dragging in the embodiment one.
[0144] The embodiment of the present application further discloses a computer program product, wherein when the computer program product runs on a computer, it causes the computer to execute part or all of the steps in the teaching method of robot zero-force dragging in the embodiment one.
[0145] The application further discloses an application publishing platform, which is used for publishing the computer program product.
[0146] In various embodiments of the present application, it should be understood that the size of the serial number of the processes does not mean the inevitable sequence of execution, and the execution sequence of the processes should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0147] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or they can be distributed to multiple network units. According to actual needs, part or all of the units can be selected to achieve the purpose of the embodiment scheme.
[0148] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically independently, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.
[0149] When the integrated unit is realized in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-accessible memory. Based on this understanding, the technical solutions of the present application or the whole or part of the technical solutions that make essential contributions to the prior art can be embodied in the form of a software product. The computer software product stored in a memory includes a plurality of steps for enabling a computer device (which can be a personal computer, a server or a network device, etc., and specifically can be a processor in the computer device) to execute all or part of the steps of the method described in each embodiment of the present application.
[0150] In the embodiments provided by the present application, it should be understood that B corresponding to A means that B is associated with A, and B can be determined according to A. However, it should also be understood that the determination of B according to A does not mean that B is determined only according to A, but B can also be determined according to A and / or other information.
[0151] Those skilled in the art can understand that part or all of the steps in the various methods of the embodiments can be completed by instructing the relevant hardware by a program, and the program can be stored in a computer readable storage medium, including Read-Only Memory (ROM), Random Access Memory (RAM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), One-time Programmable Read-Only Memory (OTPROM), Electrically-Erasable Programmable Read-Only Memory (EEPROM), Compact Disc Read-Only Memory (CD-ROM) or other optical disk memories, magnetic disk memories, magnetic tape memories, or any other computer readable medium capable of carrying or storing data.
[0152] The teaching method and system for robot zero force dragging disclosed in the embodiments of the present application are described in detail above, and the principles and implementation manners of the present application are described by applying specific examples in this paper. The above description of the embodiments is only used to help understand the method of the present application and its core idea. Meanwhile, for those skilled in the art, according to the idea of the present application, the specific implementation manners and application ranges will be changed, and the above description should not be understood as a limitation on the present application.
Claims
1. A teach method for robot zero force drag, characterized by, The method comprises: real-time acquisition of joint positions and joint velocities in response to an operator exerting a dragging external force; determination of a guide torque based on the joint positions, the joint velocities, and target joint positions and target joint velocities of the joints: wherein, is a guide torque of the i-th joint, and are a joint position and a target joint position of the i-th joint, respectively, and are a joint velocity and a target joint velocity of the i-th joint, respectively; and are a stiffness coefficient and a damping coefficient, respectively. determination of a gravity compensation torque based on the joint positions and a friction compensation torque based on the joint velocities, and derivation of a command torque from the gravity compensation torque, the friction compensation torque, and the guide torque, which specifically comprises: wherein, is the command torque for the i-th joint, is the gravity compensation torque for the i-th joint, is the friction compensation torque for the i-th joint; control of the robot to perform the dragging demonstration by the command torque.
2. The robot zero force drag teach method of claim 1, wherein, determination of a gravity compensation torque based on the joint positions, which comprises: calculation of the gravity compensation torque of each joint by a dynamics model: or, acquisition of the gravity compensation torque of each joint by a recursive Newton-Euler algorithm; wherein, is the gravity compensation moment for the ith joint, n is the total number of joints, G is the gravity function, is the joint position vector, is the position Jacobian matrix of the kth link mass center, T is the transpose of the matrix, is the kth link mass, g is the gravity acceleration.
3. The robot zero force drag teach method of claim 1, wherein, determination of a friction compensation torque based on the joint velocities, which comprises: determination of the friction compensation torque of each joint according to the joint velocities: wherein is the friction compensated torque of the i-th joint, is the friction function, is the joint velocity vector, is the joint velocity of the i-th joint, is the viscous friction coefficient, is the Coulomb friction coefficient, is the sign function.
4. The robot zero force drag teach method of claim 1, wherein, control of the robot to perform the dragging demonstration by the command torque, which comprises: conversion of the command torque into a command current: wherein, is the command current for the i-th joint, is the torque coefficient; output of the command current to an actuator corresponding to each joint to enable the robot to perform the dragging demonstration.
5. The robot zero force drag teach method of any of claims 1-4, wherein, The method further comprises: real-time acquisition of the torque change rate and the joint position of each joint of the robot; control of the robot to perform emergency shutdown when the torque change rate is greater than a preset change rate value, or / and the joint position is less than a preset lower limit of the position or greater than a preset upper limit of the position.
6. The robot zero force drag teach method of any of claims 1-4, wherein, The calculation method of the stiffness coefficient and the damping coefficient comprises: wherein, is a base stiffness coefficient, is a base damping coefficient, is a scalar magnitude of joint position deviation, is a scalar magnitude of joint velocity, is a stiffness decay coefficient, is a damping gain coefficient; , .
7. A robot zero force drag teach system characterized by, The method comprises: an acquisition unit configured to acquire joint positions and joint velocities in real time in response to an operator exerting a dragging external force; a guide unit configured to determine a guide torque based on the joint positions, the joint velocities, and target joint positions and target joint velocities of the joints: wherein, is a guide torque of the i-th joint, and are a joint position and a target joint position of the i-th joint, respectively, and are a joint velocity and a target joint velocity of the i-th joint, respectively; and are a stiffness coefficient and a damping coefficient, respectively; a calculation unit configured to determine a gravity compensation torque based on the joint positions and a friction compensation torque based on the joint velocities, and derive a command torque from the gravity compensation torque, the friction compensation torque, and the guide torque, which specifically comprises: wherein, is the command torque for the i-th joint, is the gravity compensation torque for the i-th joint, is the friction compensation torque for the i-th joint; a driving unit configured to control the robot to perform the dragging demonstration by the command torque.
8. An electronic device, comprising: The method comprises: a memory storing executable program codes; a processor coupled to the memory; the processor invokes the executable program codes stored in the memory to execute the robot zero-force dragging demonstration method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, wherein the computer program enables a computer to execute the robot zero-force dragging demonstration method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Collaborative robot friction moment compensation method for drag teaching
CN109807899A
Direct teaching device for robot
JP1997085656A