Force control method and system based on industrial robot practical operation and storage medium
By establishing a unified six-dimensional position force control framework in the force control system of industrial robots, the system complexity and jitter problems caused by independent control function modules in the prior art are solved, and more efficient control accuracy and response performance are achieved.
Patent Information
- Application Number
- CN202411850621.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-16
- Publication Date
- 2025-03-18
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The force control systems of existing industrial robots are independent of each functional module, resulting in complex system structure and difficult to coordinate and cooperate between functions, especially when multiple force control functions are switched simultaneously.
By establishing a unified six-dimensional position force control framework, the motion trajectory is generated based on user input and converted into position control and force control displacement, combined with displacement control strategies and velocity control strategies for superposition and inverse solution, and joint pulse signals are generated to drive the robot's movement.
It realizes unified coordination between motion control and force control, avoids jitter problems during switching of different control modes, and improves system response performance and control accuracy.
Smart Images

Figure CN119635635A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot control, and in particular to a force control method, system and storage medium based on the actual operation of an industrial robot. Background Art
[0002] As the application scenarios of industrial robots continue to expand, the control requirements for the robot's end effector are becoming higher and higher. In the process of assembly, grinding, polishing, etc., the robot not only needs to achieve precise position control, but also needs to accurately control the force applied to the end to ensure the processing quality and process requirements. Therefore, the robot's force control function has become a key technology to improve processing accuracy and process level.
[0003] In related technologies, the force control of industrial robots is mainly achieved by installing force / torque sensors at the end. The control system collects sensor signals, establishes a robot dynamics model, and designs corresponding control algorithms. Different control function modules are developed for different application scenarios: a force-position hybrid control algorithm is used in the assembly process, and compliant motion is achieved through impedance control; during the teaching process, the robot can follow the operator's movement through the drag teaching algorithm; during the grinding and polishing process, a stable processing force is maintained through constant force control. These control functions are developed and implemented independently, forming relatively independent functional modules.
[0004] However, since each force control function module is independent of each other, the system structure is complex and the functions are difficult to coordinate. For example, when multiple force control functions need to be implemented simultaneously in the same processing process, the switching between different modules will cause jitter. Summary of the invention
[0005] The present application provides a force control method, system and storage medium based on the actual operation of an industrial robot, which are used to establish a unified model of motion control and multiple force controls, and realize unified configuration of multiple control modes.
[0006] In the first aspect, the present application provides a force control method based on the actual operation of an industrial robot, which is applied to a force control system, and the method includes: generating a motion change curve based on a displacement target and a speed limit value input by a user; determining a six-dimensional position control displacement according to the motion change curve; generating a torque change curve based on a torque target and a torque limit value input by a user; calculating an external torque deviation value based on an actual contact torque value and a torque change curve; determining a six-dimensional force control displacement according to an external torque deviation value and an impedance calculation formula; determining a displacement control strategy and a force control strategy corresponding to the six-dimensional position control displacement and the six-dimensional force control displacement, respectively, based on the motion control option selected by the user; superimposing the six-dimensional position control displacement and the six-dimensional force control displacement based on the displacement control strategy and the force control strategy to generate a system composite displacement; inversely calculating and solving the system composite displacement to obtain the motion angles of each joint of the robot, and determining joint pulse signals; sending joint pulse signals to the servo system so that the robot moves according to the system composite displacement.
[0007] In the above embodiment, the force control system constructs a unified six-dimensional position-force control framework, generates a motion trajectory based on user input and converts it into position control and force control displacement, and then superimposes and inversely solves it based on the control strategy, and finally generates a joint pulse signal to drive the robot movement, thereby realizing the unified coordination of motion control and force control, achieving a variety of force control effects, avoiding the jitter problem when switching between different control modes, and improving the system response performance and control accuracy.
[0008] In conjunction with some embodiments of the first aspect, in some embodiments, the impedance calculation formula is: Among them, G is the transfer function from the external torque deviation value to the six-dimensional force-controlled displacement; m is the inertia coefficient, which is used to adjust the system response speed; s is the Laplace operator; c is the damping coefficient, which is used to suppress system oscillation; k is the stiffness coefficient, which is used to realize the position recovery function; when k=0, it is a mass-damping model, which is suitable for the soft floating follow-up function; when k≠0, it is a mass-damping-elasticity model, which is suitable for the position recovery function.
[0009] In the above embodiment, the force control system constructs an impedance calculation formula including the inertia coefficient, damping coefficient and stiffness coefficient, so that the system can realize both the soft floating follow-up function and the position recovery function, provides flexible force control mode selection, and enhances the adaptability of the system.
[0010] In combination with some embodiments of the first aspect, in some embodiments, after the step of sending joint pulse signals to the servo system so that the robot moves according to the system synthetic displacement, the method also includes: collecting the force information of the robot based on the external torque sensor to determine the FCS external torque; converting the FCS external torque from the sensor coordinate system to the end tool coordinate system to obtain the TCS external torque; obtaining the induced external torque of the TCS external torque in the world coordinate system WCS through the coordinate system change; when the user's torque selection option is sensor detection, using the induced external torque as the actual contact torque value to calculate the external torque deviation value.
[0011] In the above embodiment, the force control system introduces a torque sensor acquisition and coordinate system conversion mechanism, and achieves accurate acquisition of torque information through multi-level coordinate transformation, thereby improving the accuracy and reliability of force control.
[0012] In combination with some embodiments of the first aspect, in some embodiments, after the step of sending a joint pulse signal to the servo system so that the robot moves according to the system synthetic displacement, the method also includes: detecting the motor position, motor speed and motor current of the servo system of the robot, and calculating the joint external torque through the dynamic formula; with the help of the robot Jacobian matrix, converting the joint external torque into the robot end external torque as the algorithm external torque in the world coordinate system WCS; when the user's torque selection option is sensorless measurement, using the algorithm external torque as the actual contact torque value, and calculating the external torque deviation value.
[0013] In the above embodiment, the force control system calculates the torque based on the motor current detection, and can realize the force control function without the need for an external torque sensor, thereby reducing the system cost and ensuring the basic force control performance.
[0014] In combination with some embodiments of the first aspect, in some embodiments, the steps of detecting the motor position, motor speed and motor current of the servo system of the robot, and calculating the external torque of the joint through the dynamic formula specifically include: detecting the motor current of the servo system of the robot, and determining the actual torque of the joint based on the motor current; inputting the motor position and motor speed into the dynamic formula to calculate the theoretical torque of the joint; and determining the external torque of the joint based on the theoretical torque of the joint and the actual torque of the joint.
[0015] In the above embodiment, the force control system realizes the force control function under sensorless conditions through torque calculation and coordinate conversion, so that the system can maintain a good force control effect while reducing costs.
[0016] In combination with some embodiments of the first aspect, in some embodiments, before the step of sending a joint pulse signal to the servo system so that the robot moves according to the system synthetic displacement, the method also includes: obtaining the motion trajectory data, joint torque data and external force data of the robot during the calibration process; based on the motion trajectory data, establishing a dynamic calibration model including the mass parameters, inertia parameters and friction parameters of the robot; according to the joint torque data and the external force data, calculating the initial parameter values in the dynamic calibration model; according to the initial parameter values, calculating the inertia coefficient, damping coefficient and stiffness coefficient in the impedance calculation formula.
[0017] In the above embodiment, the force control system is calibrated before operation. By acquiring the robot's motion trajectory data, joint torque data and external force data, a dynamic calibration model including mass parameters, inertia parameters and friction parameters is established, and the initial parameter values are calculated, thereby determining the key coefficients in the impedance calculation formula, so that the system can accurately reflect the dynamic characteristics of the robot and improve the accuracy and reliability of force control.
[0018] In combination with some embodiments of the first aspect, in some embodiments, after the step of calculating the initial parameter values in the dynamic calibration model based on the joint torque data and the external force data, the method also includes: applying a preset external force to the end of the robot, collecting actual torque data and calculated torque data; based on the error value of the actual torque data and the calculated torque data, correcting the initial parameter values to obtain optimized parameter values; according to the optimized parameter values, correcting the inertia coefficient, damping coefficient and stiffness coefficient in the impedance calculation formula.
[0019] In the above embodiment, the force control system applies a preset external force to the end of the robot, collects actual torque data and calculated torque data at the same time, corrects the initial parameters based on the error value between the two, obtains the optimized parameter value, and corrects the various coefficients in the impedance calculation formula accordingly, which can compensate for the impact of model errors and environmental changes and improve the system's adaptability.
[0020] In a second aspect, an embodiment of the present application provides a force control system, which includes: a trajectory generator, which is used to generate a motion change curve based on a displacement target and a speed limit value input by a user; an interpolation calculation module, which is used to determine a six-dimensional position control displacement according to the motion change curve; a torque generator, which is used to generate a torque change curve based on a torque target and a torque limit value input by a user; a comparator, which is used to calculate an external torque deviation value based on an actual contact torque value and a torque change curve; a force-position converter, which is used to determine the six-dimensional force-controlled displacement according to an external torque deviation value and an impedance calculation formula; a function selector, which is used to determine a displacement control strategy and a force control strategy corresponding to the six-dimensional position control displacement and the six-dimensional force control displacement, respectively, based on the motion control option selected by the user; a displacement superimposer, which is used to superimpose the six-dimensional position control displacement and the six-dimensional force control displacement based on the displacement control strategy and the force control strategy to generate a system synthetic displacement; an inverse solution solver, which is used to inversely solve the system synthetic displacement, obtain the motion angle of each joint of the robot, and determine the joint pulse signal; and a communication module, which is used to send the joint pulse signal to the servo system so that the robot moves according to the system synthetic displacement.
[0021] In a third aspect, an embodiment of the present application provides a force control system, which includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the force control system to execute the method described in the first aspect and any possible implementation method of the first aspect.
[0022] In a fourth aspect, an embodiment of the present application provides a computer program product comprising instructions, and when the above-mentioned computer program product runs on a force control system, the above-mentioned force control system executes the method described in the first aspect and any possible implementation method of the first aspect.
[0023] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, comprising instructions. When the instructions are executed on a force control system, the force control system executes the method described in the first aspect and any possible implementation manner of the first aspect.
[0024] It can be understood that the force control systems provided in the second and third aspects, the computer program product provided in the fourth aspect, and the computer storage medium provided in the fifth aspect are all used to execute the method provided in the embodiment of the present application. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method, which will not be repeated here.
[0025] One or more technical solutions provided in the embodiments of the present application have at least the following technical effects or advantages: 1. Since the method of generating motion curves based on user input and determining position control and force control displacements is adopted, and the displacement control strategy and force control strategy are combined to perform displacement superposition and inverse solution, the motion control and force control can be unified into one framework to form a unified six-dimensional control model, which can achieve a variety of force control effects and effectively solve the problem of each control function module being independent and prone to jitter during switching in the prior art, thereby achieving smooth switching and coordinated cooperation of multiple control modes and improving the overall control performance of the system.
[0026] 2. Since an external torque sensor is used to collect the force information of the robot and the torque information is converted from the sensor coordinate system to the world coordinate system through multi-level coordinate system conversion, it is possible to accurately obtain and process the external torque information and achieve high-precision torque measurement and conversion, effectively solving the problems of inaccurate torque information and complex coordinate system conversion in the prior art, thereby achieving the accuracy and reliability of force control and realizing the stable operation of the system.
[0027] 3. Since the external torque calculation algorithm based on the servo system motor current detection is adopted, and it is used as the actual contact torque when the user selects the sensorless measurement mode, the force control function can be realized without relying on an external torque sensor, which effectively solves the problem that the existing technology must rely on expensive sensors to achieve force control, thereby reducing system costs and simplifying the structure, while ensuring the basic force control accuracy requirements. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1 It is a flow chart of a force control method based on the actual operation of an industrial robot in an embodiment of the present application; Figure 2 is another flow chart of the force control method based on the actual operation of the industrial robot in the embodiment of the present application; Figure 3 This is a schematic diagram of a functional module structure of a force control system in an embodiment of the present application; Figure 4 It is a schematic diagram of a physical device structure of a force control system in an embodiment of the present application. DETAILED DESCRIPTION
[0029] The terms used in the following embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to be used as limitations to the present application. As used in the specification and appended claims of the present application, the singular expressions "one", "a kind of", "said", "above", "the" and "this" are intended to also include plural expressions, unless there is a clear indication to the contrary in the context. It should also be understood that the term "and / or" used in the present application refers to any or all possible combinations comprising one or more listed items.
[0030] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.
[0031] For ease of understanding, the application scenarios of the embodiments of the present application are introduced below.
[0032] On the engine assembly line of a certain automobile manufacturer, the robot needs to complete the task of installing the cylinder head. This process requires the robot to not only accurately position, but also control the assembly force, and be able to adjust smoothly when encountering obstacles. Traditional pure position control is prone to damage to parts, and single force control is difficult to ensure installation accuracy. What is more challenging is that in the same assembly process, the robot needs to go through multiple stages such as picking, alignment, insertion, and pressing, and each stage requires a different control strategy. This complex application scenario requires a unified control framework to coordinate the switching and coordination of multiple control modes.
[0033] In related technologies, different force control functions can be achieved by adopting a method of independent development of modules. For example, the force-position hybrid control module is used to achieve position accuracy and force control during the assembly process, the drag teaching module is used to achieve human-computer interaction during the teaching process, and the constant force control module is used to maintain a stable processing force during the grinding and polishing process. Each functional module has an independent control algorithm and parameter configuration interface, which can be debugged and optimized separately.
[0034] The following introduces a scenario of using a force control method based on the actual operation of an industrial robot in related technologies.
[0035] A factory robot uses a traditional modular control scheme to achieve engine assembly. They use an independently developed position control module to position the cylinder head, a force control module to monitor the assembly force, and a compliance control module to handle position deviations during assembly. When the robot switches from position control to force control, jitter and impact often occur due to the lack of coordination between the modules. Especially when the cylinder head is about to contact the cylinder block, the switching of control modes causes discontinuous robot movements and sometimes causes parts to collide. In view of the unstable situation during switching, more delays are required to achieve a smooth transition, which reduces production efficiency. In addition, the parameter configurations of different control modules are independent of each other, the debugging work is cumbersome, and it is difficult to guarantee the overall performance.
[0036] By adopting the force control method based on the actual operation of industrial robots in the embodiment of the present application, a unified control model of six-dimensional position and force is established to achieve the coordination of multiple control functions, which not only solves the jitter and delay problems when switching between modules, but also greatly simplifies the system development and maintenance work. For example, during the engine assembly process, the system can automatically switch smoothly between position control, force-position mixed control and compliant control according to the needs of different stages to ensure the continuity and stability of the assembly process. The following introduces the scenario of using the force control method based on the actual operation of industrial robots in this application.
[0037] After adopting the unified control framework of the force control method based on the actual operation of industrial robots in this application, the robot initially uses the position control mode to accurately move above the cylinder head, and automatically switches to the force-position hybrid control mode when approaching, and adjusts the position in real time through force sensor feedback. When contact is detected, the system seamlessly switches to the compliant control mode to ensure a smooth assembly process. Throughout the process, the switching of control modes is uniformly scheduled by the function selector, and the displacement superimposer ensures the continuity of movement, avoiding the jitter problem in traditional solutions. All control parameters are configured under a unified framework, which greatly simplifies the debugging process.
[0038] It can be seen that the force control method based on the actual operation of industrial robots in the embodiment of the present application can effectively solve the jitter problem and delay problem when switching the control mode while realizing multiple force control functions, thereby achieving an overall improvement in system performance. Through the cooperation of the function selector and the displacement superimposer, the system can flexibly respond to various application scenarios, significantly improving the applicability and work efficiency of industrial robots.
[0039] For ease of understanding, the following describes the process of the method provided by this implementation in combination with the above scenario. Figure 1 , which is a flow chart of a force control method based on the actual operation of an industrial robot in an embodiment of the present application.
[0040] S101 : Generate a motion change curve based on a displacement target and a speed limit value input by a user.
[0041] Among them, the displacement target represents the target position and posture that the user expects the robot end to move in Cartesian space; the speed limit value refers to the maximum speed, maximum acceleration and maximum jerk allowed during the robot's movement; the motion change curve is used to represent the change pattern of the displacement of the robot end over time during the movement, including the displacement curve, speed curve and acceleration curve.
[0042] After receiving the user's motion command, the force control system needs to generate a smooth motion trajectory to ensure the stable motion of the robot. Specifically, the force control system first obtains the target position and posture information input by the user, as well as constraints such as speed and acceleration; then based on these input parameters, it uses algorithms such as cubic polynomial interpolation or trapezoidal velocity planning to calculate the displacement, velocity and acceleration curves during the entire motion process; finally, it outputs a complete motion change curve as the basis for subsequent motion control.
[0043] In some embodiments, the generation of motion change curves can be achieved in a variety of ways: Optionally, a cubic polynomial interpolation method is used: the displacement boundary conditions are determined according to the starting position and the target position; the speed boundary conditions are determined according to the speed limit value; a cubic polynomial equation is established and the coefficients are solved; a displacement curve is generated according to the obtained polynomial equation; and the displacement curve is derived to obtain the speed and acceleration curves. Optionally, a trapezoidal speed planning method is used: the time allocation of the acceleration segment, the uniform speed segment, and the deceleration segment is determined according to the speed limit value; the motion equations of each stage are calculated in segments; the motion curves of each segment are spliced to obtain a complete displacement curve; the displacement curve is derived to obtain the speed and acceleration curves; and the generated curve is checked to see if it meets the constraints. It is understandable that other curve planning methods such as S-shaped speed planning, quintic polynomial interpolation, etc. can also be used to achieve the generation of motion change curves, which are not limited here.
[0044] S102, determining the six-dimensional position control displacement according to the motion change curve.
[0045] Among them, the motion change curve represents the change law of the robot's end displacement over time; the six-dimensional position control displacement refers to the position control quantity in three translation directions and three rotation directions in Cartesian space, including x, y, z, rx, ry, and rz.
[0046] Specifically, after obtaining the motion change curve, the force control system needs to convert it into specific position and force control quantities. The force control system first decomposes the one-dimensional motion curve into six degrees of freedom in Cartesian space through a time axis synchronization algorithm, and obtains a six-dimensional position control displacement.
[0047] S103 . Generate a torque variation curve based on the torque target and torque limit value input by the user.
[0048] Among them, the torque target represents the target force and torque value that the user expects the robot to apply at the end; the torque limit value refers to the maximum torque, maximum change rate and maximum acceleration allowed during the torque change process; the torque change curve is used to describe the change law of torque over time.
[0049] After receiving the force control command from the user, the force control system needs to plan the appropriate torque change process to ensure the force control effect. Specifically, the system first obtains the target torque and torque constraint conditions set by the user; then based on these parameters, the torque planning algorithm is used to calculate the torque change law in the entire process; finally, a standard torque change curve is generated as the basis for subsequent force control. This process ensures smooth changes in torque and avoids sudden changes that cause impact on the system.
[0050] In some embodiments, the generation of the torque change curve can be achieved in a variety of ways: Optionally, based on the cubic spline interpolation method: determine the torque boundary conditions; construct the cubic spline equation; solve the equation coefficients; generate the torque curve; verify the constraint conditions. Optionally, based on the trapezoidal programming method: divide the force section and the uniform force section; calculate the time of each section; generate the segmented curve; splice the complete curve; and verify the constraint satisfaction. It is understandable that other torque planning methods can also be used to achieve the generation of the torque change curve, which is not limited here.
[0051] S104. Calculate the external torque deviation value based on the actual contact torque value and the torque change curve.
[0052] Among them, the torque change curve represents the change law of the expected torque over time; the actual contact torque value refers to the torque value generated when the robot end actually contacts the environment; the external torque deviation value is used to represent the deviation between the expected torque and the actual torque.
[0053] The force control system needs to monitor and adjust the torque control effect in real time. Specifically, the system first obtains the torque change curve at the current moment to determine the expected torque value; then reads the actual contact torque value from the torque sensor or torque observer; finally, calculates the difference between the two in each dimension, that is, the external torque deviation value, as the input for the subsequent force control displacement calculation.
[0054] In some embodiments, the calculation of the external torque deviation value can be achieved in a variety of ways: Optionally, based on the direct difference method: obtain the expected torque and the actual torque; calculate the difference in each dimension; perform signal filtering processing; determine whether the difference exceeds the limit; output the processed difference. Optionally, based on the weighted difference method: determine the weight coefficient of each dimension; calculate the weighted moment value; obtain the weighted difference; dynamically adjust the weight; output the optimized difference. It is understandable that other difference calculation methods can also be used to achieve the determination of the torque deviation, which is not limited here.
[0055] S105. Determine the six-dimensional force-controlled displacement according to the external torque deviation value and the impedance calculation formula.
[0056] Among them, the external torque deviation value represents the deviation between the expected torque and the actual torque; the impedance calculation formula refers to the dynamic equation that describes the relationship between force and displacement; the six-dimensional force-controlled displacement is used to represent the compensatory displacement generated by force control; the inertia coefficient, damping coefficient and stiffness coefficient are used to adjust the response characteristics of the system respectively.
[0057] The force control system needs to convert the force deviation into the corresponding displacement compensation. Specifically, the system first substitutes the external torque deviation value into the impedance model; then calculates the compensation displacement in each dimension according to the set inertia, damping and stiffness parameters; finally, the displacement is limited and filtered to ensure the rationality of the compensation amount.
[0058] It should be noted that the parameters of the impedance model in the training phase include the physical characteristics and application requirements of the robot, and the offline calibration of the inertia coefficient m, damping coefficient c and stiffness coefficient k. By applying a known external force, recording the system response, and using optimization algorithms such as the least squares method to determine the best parameter combination. The calibration criteria include performance indicators such as system response speed, overshoot and steady-state error. The impedance model uses the equation (Impedance calculation formula) describes the relationship between force and displacement. By inputting the external torque deviation value (the difference between the expected torque and the actual torque), the impedance model can calculate the displacement compensation corresponding to the output. In real-time control, the model parameters are dynamically adjusted according to different application scenarios to achieve a force control effect with variable stiffness.
[0059] For impedance calculation formula: Among them, G is the transfer function from the external torque deviation value to the displacement; m is the inertia coefficient, which is used to adjust the system response speed; s is the Laplace operator; c is the damping coefficient, which is used to suppress the system oscillation; k is the stiffness coefficient, which is used to realize the position recovery function; when k = 0, it is a mass-damping model, which is suitable for the soft floating follow-up function; when k ≠ 0, it is a mass-damping-elasticity model, which is suitable for the position recovery function.
[0060] The impedance calculation formula describes the dynamic relationship between the external torque deviation input and the displacement output. This formula is essentially a transfer function of a second-order system, where: The denominator ms 2 The inertial characteristics of the system are described. The larger the m value, the slower the system response, which helps to suppress high-frequency disturbances, but will reduce the response speed. The denominator cs describes the damping characteristics of the system. The c value determines the system's oscillation suppression ability. Too small a value will cause system oscillation, and too large a value will make the system respond slowly. The denominator k describes the stiffness characteristics of the system and determines the system's position recovery ability. These three parameters work together, that is, when external force acts, the inertial term causes the system to produce a smooth acceleration process; the damping term provides resistance during movement to prevent overshoot and oscillation; the stiffness term provides a restoring force to return the end to the desired position.
[0061] S106 . Based on the motion control option selected by the user, determine a displacement control strategy and a force control strategy corresponding to the six-dimensional position-controlled displacement and the six-dimensional force-controlled displacement, respectively.
[0062] Among them, the motion control option represents a control option of the function selector selected by the user, including motion control, soft floating / drag teaching, constant force control, force-position mixed control, smooth motion and other control functions; the displacement control strategy refers to the specific implementation method of position control; the force control strategy is used to represent the specific implementation plan of force control.
[0063] The system needs to select the appropriate control strategy according to different application scenarios: first identify the control mode selected by the user; then determine the specific control method of position control and force control for each dimension in the six-dimensional space; finally, configure the corresponding control strategy parameters for each dimension based on the selected control method.
[0064] Based on user selection, when the control option of the function selector is motion control, the displacement control strategy is enabled in multiple directions and the force control strategy is turned off; when the control option of the function selector is soft floating / drag teaching, the displacement control strategy is turned off, the force control strategy is enabled in single direction / multi-directions, and passive motion; when the control option of the function selector is constant force control, the displacement control strategy is turned off, the force control strategy is enabled in single direction, and active motion; when the control option of the function selector is force-position mixed motion, the displacement control strategy is enabled in multiple directions, which is mutually exclusive with force control, and the force control strategy is enabled in multiple directions, which is mutually exclusive with motion control; when the control option of the function selector is compliant motion, both the displacement control strategy and the force control strategy are enabled in multiple directions.
[0065] For various control options, there are corresponding displacement control strategies and force control strategies to suit different usage scenarios, specifically: 1. Soft floating: (A) No torque sensor, no movement, force setting value 0, force-position converter mode 1, external force pushes, robot passive movement, response meets the application, low accuracy, good economy; (B) With torque sensor, no motion, force setting value 0, force position converter mode 1, external force push, robot passive motion, sensitive response, high precision, high-end application; 2. Drag teaching: no movement, force setting value 0, force position converter mode 1, external force drags the end of the body, any position; 3. Constant force control: no movement, force setting value F, force position converter mode 1, the end of the body moves automatically, contacts the surface of the object, generates extrusion force, and stops moving after reaching the setting value F; 4. Force-position hybrid control: There are 6 directions of motion and space, some directions are position control, while other directions are force control, force-position converter mode 1, one direction can only have one control mode, for example, x, y, rz are position control, while z, rx, ry are force control; 5. Active compliant motion: There is motion in 6 directions in space. In any direction, both position control and force control are possible. The force-position converter mode 2 can also show flexibility along the direction of motion.
[0066] S107. Based on the displacement control strategy and the force control strategy, the six-dimensional position-controlled displacement and the six-dimensional force-controlled displacement are superimposed to generate a system composite displacement.
[0067] Among them, the system synthetic displacement refers to the displacement instruction ultimately used to control the movement of the robot.
[0068] The force control system needs to reasonably combine the displacements generated by position control and force control. Specifically, the system first determines the superposition weight of displacements in each dimension according to the control strategy; then superimposes the position control displacement and force control displacement according to the rules; and finally generates a standard six-dimensional displacement instruction as the basis for subsequent motion control.
[0069] In some embodiments, displacement superposition can be achieved in a variety of ways: Optionally, based on a linear weighted method: determine the superposition weight of each dimension; calculate the weighted displacement; perform displacement superposition; verify the superposition result; generate a system synthesis displacement instruction. Optionally, based on a priority superposition method: set the position control and force control priorities; superimpose step by step according to the priority; process the dimensional coupling; optimize the superposition result; output the final displacement. It is understandable that other superposition algorithms can also be used to achieve the combination of displacements, which is not limited here.
[0070] S108. Inversely calculate and solve the system composite displacement to obtain the motion angle of each joint of the robot and determine the joint pulse signal.
[0071] Among them, the inverse solution means converting the displacement in Cartesian space into the angle in joint space; the motion angle refers to the rotation amount of each joint of the robot; and the joint pulse signal represents the control amount of driving the joint motor.
[0072] The force control system needs to convert the system composite displacement into specific joint control instructions. Specifically, the system first uses the kinematic inverse algorithm to convert the system composite displacement in Cartesian space into the angle change in joint space; then calculates the corresponding motor pulse signal based on the joint angle and robot parameters; and finally synchronizes the pulse signals of all joints.
[0073] In some embodiments, the inverse solution can be achieved in a variety of ways: Optionally, based on analytical solution: establish inverse kinematics equations; solve joint angles; verify the validity of the solution; calculate motor pulses; synchronize joint signals. Optionally, based on numerical iteration method: set initial angle estimate; iteratively calculate angle correction; determine convergence conditions; convert to pulse signals; output control amount. It is understandable that other solution methods can also be used to achieve the conversion of displacement to joint angle, which is not limited here.
[0074] S109, sending joint pulse signals to the servo system, so that the robot moves according to the system synthetic displacement.
[0075] Among them, the servo system refers to the drive system responsible for performing motion control.
[0076] The force control system needs to ensure that the control signal can be accurately transmitted to the actuator. Specifically, the system first encodes the joint pulse signal according to the communication protocol; then sends the signal to each servo driver through the communication interface; and finally monitors the actual motion state of the robot to ensure that it moves according to the system's synthetic displacement.
[0077] In some embodiments, signal transmission and motion control can be achieved in a variety of ways: Optionally, based on real-time communication method: signal encoding and packaging; establishing communication connection; sending control instructions; receiving feedback information; monitoring motion status. Optionally, based on distributed control method: dividing control units; assigning control tasks; synchronizing control signals; coordinating multi-axis motion; ensuring position accuracy. It is understandable that other control methods can also be used to achieve accurate motion of the robot, which is not limited here.
[0078] In the above embodiment, the displacement superimposer ensures the continuity of the system movement by reasonably combining the position-controlled displacement and the force-controlled displacement. In practical applications, this mechanism can effectively prevent sudden changes when the control mode is switched. For example, during the assembly process, when the contact force suddenly increases, the force-controlled displacement will have a compensatory effect, allowing the robot to respond flexibly and avoid damage to the workpiece.
[0079] The following is a supplement to the scenario of this embodiment.
[0080] Based on the successful application, the factory further expanded the system functions. Under the same control framework, they added a teaching function, where the operator can demonstrate the assembly action by manually dragging the robot, and the system automatically records the position and force trajectory. Through the force-controlled displacement superposition mechanism, the system can accurately restore the teaching action when repeated execution, while maintaining adaptability to external interference. A force control solution without force sensors was also implemented, and the external torque was estimated by the motor current. Expensive force sensors were replaced in some workstations with low precision requirements, which significantly reduced the system cost and fully demonstrated the flexibility and scalability of the framework.
[0081] After combining the above scenarios, the following is a more detailed description of the process of the method provided by this implementation. Figure 2 , is another flow chart of the force control method based on the actual operation of the industrial robot in the embodiment of the present application.
[0082] S201-S206. Calculate the external torque deviation value based on the actual contact torque value and the torque change curve; determine the six-dimensional force-controlled displacement based on the external torque deviation value and the impedance calculation formula; determine the displacement control strategy and force control strategy corresponding to the six-dimensional position-controlled displacement and the six-dimensional force-controlled displacement respectively based on the motion control option selected by the user; based on the displacement control strategy and the force control strategy, superimpose the six-dimensional position-controlled displacement and the six-dimensional force-controlled displacement to generate a system composite displacement; inversely calculate and solve the system composite displacement to obtain the motion angle of each joint of the robot and determine the joint pulse signal; send the joint pulse signal to the servo system so that the robot moves according to the system composite displacement.
[0083] Referring to steps S104-S109, the force control system calculates the external torque deviation value, determines the six-dimensional force control displacement, and generates the system synthetic displacement according to the displacement control strategy and the force control strategy to send the corresponding joint pulse signal to the robot to control the robot to move.
[0084] In some embodiments, the force control system will be calibrated, that is, the motion trajectory data, joint torque data and external force data of the robot during the calibration process are obtained; based on the motion trajectory data, a dynamic calibration model including the robot's mass parameters, inertia parameters and friction parameters is established; according to the joint torque data and external force data, the initial parameter values in the dynamic calibration model are calculated; according to the initial parameter values, the inertia coefficient, damping coefficient and stiffness coefficient in the impedance calculation formula are calculated.
[0085] Among them, the motion trajectory data represents the position, velocity and acceleration information of the robot during the calibration process; the joint torque data refers to the actual torque value of each joint motor; the external force data is used to represent the external force and torque applied to the end; the dynamic calibration model refers to the mathematical model that describes the dynamic characteristics of the robot; the mass parameters, inertia parameters and friction parameters are used to characterize the physical characteristics of the robot.
[0086] The force control system needs to be calibrated before use. Specifically, the system first collects the robot's motion data and torque data during the calibration process; then establishes a dynamic model containing various physical parameters; then calculates the initial values of the model parameters based on the collected data; and finally uses these parameters to determine the key coefficients of impedance control.
[0087] In some embodiments, dynamic calibration can be achieved in a variety of ways: Optionally, based on the least squares method: design excitation trajectory; collect calibration data; establish parameter equations; solve optimal parameters; verify model accuracy. Optionally, based on the adaptive calibration method: build a calibration model; real-time parameter identification; dynamic parameter update; evaluate calibration effect; optimize model parameters. It is understandable that other calibration methods can also be used to achieve the acquisition of dynamic parameters, which is not limited here.
[0088] Furthermore, the force control system applies a preset external force to the end of the robot, collects actual torque data and calculated torque data; based on the error value between the actual torque data and the calculated torque data, corrects the initial parameter value to obtain the optimized parameter value; according to the optimized parameter value, corrects the inertia coefficient, damping coefficient and stiffness coefficient in the impedance calculation formula.
[0089] Among them, the preset external force represents the known external force input used for parameter optimization; the actual torque data refers to the actual measured torque value; the calculated torque data is used to represent the torque value calculated by the model; and the optimized parameter value refers to the corrected model parameter.
[0090] The system verifies and optimizes calibration parameters through experiments. Specifically, the system first applies a known external force to the end of the robot; then simultaneously records the actual measured torque and the torque calculated by the model; then corrects the model parameters based on the error between the two; and finally uses the optimized parameters to update the impedance control.
[0091] S207 , collecting the force information of the robot based on the external torque sensor, and determining the FCS external torque.
[0092] Among them, the external torque sensor refers to the force measuring device installed at the end of the robot; the force information refers to the force and torque data detected by the sensor; the FCS (Force Sensor Coordinate System) external torque is used to represent the torque value in the sensor coordinate system.
[0093] When precise force control is required, the force control system will use direct sensor measurement. Specifically, the system first reads the raw data of the torque sensor, then performs unit conversion and signal filtering to obtain the accurate external torque value in the sensor coordinate system.
[0094] In some embodiments, the acquisition of external torque can be achieved in a variety of ways: Optionally, based on the direct sampling method: configure sensor parameters; collect raw data; perform signal filtering; compensate for temperature drift error; output torque value. Optionally, based on the dynamic calibration method: establish a calibration model; compensate for system errors; collect data in real time; calculate actual torque; verify data validity. It is understandable that other torque measurement methods can also be used to achieve the determination of external torque, which is not limited here.
[0095] In some embodiments, the acquisition of FCS external torque can be achieved in a variety of ways: Optionally, based on direct measurement method: initialize sensor; collect raw data; perform signal filtering; compensate temperature error; calculate FCS external torque. Optionally, based on dynamic compensation method: establish error model; real-time data collection; perform dynamic compensation; verify data validity; output compensated torque. It is understandable that other sensor measurement methods can also be used to achieve the acquisition of external torque, which is not limited here.
[0096] S208 , convert the FCS external torque from the sensor coordinate system to the end tool coordinate system to obtain the TCS external torque.
[0097] Among them, the sensor coordinate system refers to the local coordinate system of the torque sensor; the end tool coordinate system is used to represent the local coordinate system of the robot end; and the TCS external torque refers to the torque value in the end tool coordinate system.
[0098] The force control system needs to uniformly convert the torques in different coordinate systems. Specifically, the system first determines the posture relationship between the sensor coordinate system and the tool coordinate system; then constructs the coordinate transformation matrix; and finally transforms the torque data from the sensor coordinate system to the tool coordinate system through matrix operations.
[0099] S209. Obtain the induced external torque of the TCS external torque in the world coordinate system WCS by changing the coordinate system.
[0100] Among them, TCS (Tool Coordinate System) external torque represents the torque value in the tool coordinate system; WCS (World Coordinate System, also known as the base coordinate system) refers to the robot base coordinate system; the induced external torque is used to represent the torque value in a unified world coordinate system.
[0101] The force control system needs to convert the torque of the local coordinate system to a unified reference coordinate system. Specifically, the system first obtains the real-time posture of the tool coordinate system relative to the world coordinate system; then constructs the torque conversion matrix based on the posture information; and finally converts the torque in the tool coordinate system to the standard torque value in the world coordinate system.
[0102] In some embodiments, the acquisition of the induced external torque can be achieved in a variety of ways: Optionally, based on the quaternion transformation method: calculate the posture quaternion; construct a transformation matrix; perform torque transformation; process special postures; output standard torque. Optionally, based on the Euler angle transformation method: extract Euler angle parameters; establish a transformation equation; calculate the torque component; synthesize the final result; verify the accuracy of the transformation. It is understandable that other coordinate transformation methods can also be used to achieve a unified representation of the torque, which is not limited here.
[0103] S210. When the user's torque selection option is sensor detection, the external torque deviation value is calculated using the sensed external torque as the actual contact torque value.
[0104] Among them, the torque selection option indicates the torque acquisition method selected by the user; sensor detection refers to direct measurement through the torque sensor; the actual contact torque is used to indicate the actual contact force between the end and the environment; the external torque deviation value refers to the deviation between the expected torque and the actual torque.
[0105] The force control system uses sensor data as feedback when the user selects the sensor detection mode. Specifically, the system first confirms that it is currently in the sensor detection mode; then uses the converted induced external torque as the actual contact torque; and finally compares it with the expected torque to calculate the external torque deviation value.
[0106] In some embodiments, the calculation of the external torque deviation value can be implemented in a variety of ways: Optionally, based on the real-time comparison method: read the sensed external torque; obtain the expected torque; calculate the difference; perform amplitude limiting processing; output the difference result. Optionally, based on the filtering processing method: collect torque data; perform signal filtering; calculate the difference after filtering; determine the validity of the difference; update the difference result. It is understandable that other difference calculation methods can also be used to determine the torque deviation, which is not limited here.
[0107] S211. Detect the motor position, motor speed and motor current of the robot's servo system, and calculate the joint external torque using a dynamics formula.
[0108] When there is no external sensor, the force control system estimates the external force through the motor state. Specifically, the system first reads the real-time position, speed and current values of each joint motor from the servo driver; then converts the position, speed and current into torque, i.e. the joint external torque, according to the motor parameters.
[0109] It should be noted that the dynamic model systematically identifies the motion data and torque data of each joint of the robot during the training phase, and establishes dynamic equations containing parameters such as mass, inertia, and friction. The model parameters are updated online using methods such as least squares recursion, and the optimization goal is to reduce the error between the actual torque and the calculated torque. This dynamic model is used to describe the mapping relationship between the robot joint motion and torque, including gravity terms, Coriolis terms, inertia terms, etc. This dynamic model can be used for both forward calculation (calculating theoretical torque based on the motion state) and reverse estimation (inferring external forces based on actual torque). Usage process: In the torque sensor-free mode, input the joint motor current and motion state, calculate the theoretical torque through the dynamic model, and subtract it from the actual torque to obtain the external torque estimate. In coordinate transformation, it is used to map the torque in the joint space to the Cartesian space.
[0110] In some embodiments, the force control system detects the motor current of the robot's servo system and determines the actual torque of the joint based on the motor current; inputs the motor position and motor speed into the dynamics formula to calculate the theoretical torque of the joint; and determines the external torque of the joint based on the theoretical torque of the joint and the actual torque of the joint.
[0111] Among them, the motor position represents the angle value of each joint motor; the motor speed refers to the angular velocity of the joint rotation; the motor current is used to indicate the magnitude of the driving current; the actual joint torque refers to the actual torque value calculated by the current; the theoretical joint torque is used to indicate the theoretical torque value calculated by the dynamic model.
[0112] The system needs to calculate the joint torque through the motor parameters. Specifically, the system first reads the position, speed and current information of each joint from the servo driver; then converts the current into actual torque according to the motor parameters; then calculates the theoretical torque using the dynamic model; and finally obtains the torque generated by the external force through comparison. This process realizes the torque acquisition under sensorless conditions.
[0113] S212. With the help of the robot Jacobian matrix, the joint external torque is converted into the robot end external torque as the algorithm external torque in the world coordinate system WCS.
[0114] Among them, the Jacobian matrix represents the mapping relationship between the joint space and the Cartesian space; the joint external torque refers to the actual torque value at each joint; the terminal external torque is used to represent the force and torque at the end of the robot; the algorithmic external torque refers to the terminal torque value obtained by the calculation method.
[0115] The force control system needs to realize the torque conversion between joint space and Cartesian space. Specifically, the system first calculates the Jacobian matrix according to the current configuration of the robot; then uses the transpose of the Jacobian matrix to map the joint external torque to Cartesian space; finally, the algorithm external torque value in the world coordinate system is obtained through coordinate transformation. This process realizes the accurate conversion of torque in different spaces and provides a basis for sensorless force control.
[0116] In some embodiments, the torque space conversion can be achieved in a variety of ways: Optionally, based on the Jacobian transposition method: calculate the Jacobian matrix; construct the transposed matrix; perform torque mapping; process singular configurations; output the conversion result. Optionally, based on the virtual work principle method: establish the virtual work equation; calculate the equivalent torque; compensate for dynamic errors; verify the torque balance; update the terminal torque. It is understandable that other conversion methods can also be used to achieve the spatial transformation of the torque, which is not limited here.
[0117] S213. When the user's torque selection option is sensorless measurement, the algorithm external torque is used as the actual contact torque to calculate the external torque deviation value.
[0118] Among them, sensorless measurement refers to a torque acquisition mode that does not use external sensors.
[0119] Among them, the torque selection option indicates the torque acquisition method selected by the user; the sensorless measurement mode refers to the method of estimating the external torque through an algorithm; the actual contact torque is used to indicate the actual contact force between the end and the environment; the external torque deviation value refers to the difference between the expected torque and the actual torque.
[0120] When the user selects the sensorless mode, the system uses the torque value estimated by the algorithm for force control. Specifically, the system first confirms that it is currently in the sensorless measurement mode; then the algorithm external torque obtained by dynamic calculation is used as the actual contact torque; finally, it is compared with the expected torque to calculate the external torque deviation value. This process realizes the force control function under sensorless conditions and reduces system costs.
[0121] In some embodiments, sensorless force control can be achieved in a variety of ways: Optionally, based on the current observation method: collect motor current; calculate equivalent torque; compensate for friction; estimate external torque; update force control parameters. Optionally, based on the model prediction method: establish a prediction model; real-time state estimation; calculate predicted torque; correct model parameters; output torque results. It is understandable that other estimation methods can also be used to achieve torque acquisition under sensorless conditions, which is not limited here.
[0122] In the embodiments of the present application, due to the use of a unified force-position hybrid control framework, a flexible function selector mechanism, and an innovative displacement superposition algorithm, multiple functions such as motion control, force control, and force-position hybrid control can be realized in the same system, and smooth switching between them can be ensured, effectively solving the problems of the independence of each control module, easy jitter during switching, and cumbersome parameter configuration in the prior art, thereby achieving seamless switching of control modes, continuity of system response, and simplicity of development and maintenance. At the same time, by providing two torque acquisition methods, sensored and sensorless, and a unified coordinate conversion mechanism, the system has strong adaptability and scalability, can meet the needs of different application scenarios, and significantly improves the application efficiency and scope of industrial robots.
[0123] The force control system in the embodiment of the present application is introduced from the perspective of modules. Figure 3 , which is a schematic diagram of a functional module structure of a force control system in an embodiment of the present application.
[0124] The force control system includes: The trajectory generator 301 is used to generate a motion change curve based on the displacement target and speed limit value input by the user; An interpolation calculation module 302 is used to determine the six-dimensional position control displacement according to the motion change curve; The torque generator 303 is used to generate a torque change curve based on the torque target and torque limit value input by the user; A comparator 304 is used to calculate the external torque deviation value based on the actual contact torque value and the torque change curve; A force-position converter 305 is used to determine the six-dimensional force-controlled displacement according to the external torque deviation value and the impedance calculation formula; A function selector 306, for determining a displacement control strategy and a force control strategy corresponding to the six-dimensional position-controlled displacement and the six-dimensional force-controlled displacement, respectively, based on the motion control option selected by the user; A displacement superimposer 307 is used to superimpose the six-dimensional position-controlled displacement and the six-dimensional force-controlled displacement based on the displacement control strategy and the force control strategy to generate a system synthetic displacement; The inverse solution solver 308 is used to solve the system synthetic displacement inversely, obtain the motion angle of each joint of the robot, and determine the joint pulse signal; The communication module 309 is used to send joint pulse signals to the servo system so that the robot moves according to the system synthetic displacement.
[0125] In some embodiments, the force control system further comprises: The sensor acquisition module 310 is used to collect the force information of the robot based on the external torque sensor to determine the FCS external torque; the torque converter 311 is used to convert the FCS external torque from the sensor coordinate system to the end tool coordinate system to obtain the TCS external torque; and obtain the induced external torque of the TCS external torque in the world coordinate system through the coordinate system change; The contact force selector 312 is used to calculate the external torque deviation value by taking the sensed external torque as the actual contact torque when the user's torque selection option is sensor detection.
[0126] In some embodiments, the force control system further comprises: The external torque observer 313 is used to detect the motor position, motor speed and motor current of the servo system of the robot, and calculate the joint external torque through the dynamic formula; A torque converter 314 is used to convert the joint external torque into the robot end external torque by means of the robot Jacobian matrix as the algorithm external torque in the world coordinate system WCS; The contact force selector 312 is also used to calculate the external torque deviation value using the algorithm external torque as the actual contact torque when the user's torque selection option is sensorless measurement.
[0127] In some embodiments, the external torque observer 313 of the force control system is used to detect the motor current of the robot's servo system, and determine the actual torque of the joint based on the motor current; input the motor position and motor speed into the dynamics formula to calculate the theoretical torque of the joint; and determine the external torque of the joint based on the theoretical torque of the joint and the actual torque of the joint.
[0128] In some embodiments, the force control system also includes a coefficient simulation module 315, which is used to: obtain the motion trajectory data, joint torque data and external force data of the robot during the calibration process; based on the motion trajectory data, establish a dynamic calibration model including the robot's mass parameters, inertia parameters and friction parameters; calculate the initial parameter values in the dynamic calibration model according to the joint torque data and external force data; calculate the inertia coefficient, damping coefficient and stiffness coefficient in the impedance calculation formula according to the initial parameter values.
[0129] In some embodiments, the force control system also includes a coefficient correction module 316, which is used to: apply a preset external force to the end of the robot, collect actual torque data and calculated torque data; based on the error value of the actual torque data and the calculated torque data, correct the initial parameter value to obtain the optimized parameter value; according to the optimized parameter value, correct the inertia coefficient, damping coefficient and stiffness coefficient in the impedance calculation formula.
[0130] The force control system in the embodiment of the present application is described above from the perspective of modular functional entities. The force control system in the embodiment of the present application is described below from the perspective of hardware processing. Figure 4 , which is a schematic diagram of a physical device structure of a force control system in an embodiment of the present application.
[0131] It should be noted that Figure 4 The structure of the force control system shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0132] like Figure 4 As shown, the force control system includes a central processing unit (CPU) 401, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 402 or the program loaded from the storage part 408 to the random access memory (RAM) 403, such as executing the method described in the above embodiment. In RAM 403, various programs and data required for system operation are also stored. CPU 401, ROM 402 and RAM 403 are connected to each other through bus 404. Input / output (I / O) interface 405 is also connected to bus 404.
[0133] The following components are connected to the I / O interface 405: an input section 406 including a display device to be determined, etc.; an output section 407 including a liquid crystal display (LCD) and a display device to be determined, etc.; a storage section 408 including a hard disk, etc.; and a communication section 409 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 409 performs communication processing via a network such as the Internet. A drive 410 is also connected to the I / O interface 405 as needed. A removable medium 411, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 410 as needed so that a computer program read therefrom is installed into the storage section 408 as needed.
[0134] In particular, according to an embodiment of the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present invention includes a computer program product, which includes a computer program carried on a computer readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 409, and / or installed from the removable medium 411. When the computer program is executed by the central processing unit (CPU) 401, various functions defined in the present invention are performed.
[0135] It should be noted that the computer-readable medium shown in the embodiment of the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable computer program. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
[0136] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present invention. Among them, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0137] Specifically, the force control system of this embodiment includes a processor and a memory. The memory stores a computer program. When the computer program is executed by the processor, the force control method based on the actual operation of the industrial robot provided in the above embodiment is implemented.
[0138] As another aspect, the present invention further provides a computer-readable storage medium, which may be included in the force control system described in the above embodiment; or may exist independently without being assembled into the force control system. The above storage medium carries one or more computer programs, and when the above one or more computer programs are executed by a processor of the force control system, the force control system implements the force control method based on the actual operation of the industrial robot provided in the above embodiment.
[0139] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
[0140] As used in the above embodiments, the term "when..." may be interpreted to mean "if..." or "after..." or "in response to determining..." or "in response to detecting...", depending on the context. Similarly, the phrases "upon determining..." or "if (the stated condition or event) is detected" may be interpreted to mean "if determining..." or "in response to determining..." or "upon detecting (the stated condition or event)" or "in response to detecting (the stated condition or event)", depending on the context.
[0141] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instruction is loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instruction can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instruction can be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server, data center, etc. that contains one or more available media integration. The available medium can be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk), etc.
[0142] Those skilled in the art can understand that to implement all or part of the processes in the above-mentioned embodiments, the processes can be completed by computer programs to instruct related hardware, and the programs can be stored in computer-readable storage media. When the programs are executed, they can include the processes of the above-mentioned method embodiments. The aforementioned storage media include: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.
Claims
1. A force control method based on the actual operation of an industrial robot, applied to a force control system, characterized in that: The method comprises: generating a motion change curve based on a displacement target and a speed limit value input by a user; Determine the six-dimensional position control displacement according to the motion change curve; Generate a torque change curve based on the torque target and torque limit value input by the user; Calculating an external torque deviation value based on the actual contact torque value and the torque variation curve; Determining the six-dimensional force-controlled displacement according to the external torque deviation value and the impedance calculation formula; Determining a displacement control strategy and a force control strategy corresponding to the six-dimensional position-controlled displacement and the six-dimensional force-controlled displacement, respectively, based on the motion control option selected by the user; Based on the displacement control strategy and the force control strategy, the six-dimensional position-controlled displacement and the six-dimensional force-controlled displacement are superimposed to generate a system synthetic displacement; The synthetic displacement of the system is solved by inverse calculation to obtain the motion angle of each joint of the robot and determine the joint pulse signal; The joint pulse signal is sent to the servo system, so that the robot moves according to the system synthetic displacement.
2. The method according to claim 1, characterized in that The impedance calculation formula is: Among them, G is the transfer function from the external torque deviation value to the six-dimensional force-controlled displacement; m is the inertia coefficient, which is used to adjust the system response speed; s is the Laplace operator; c is the damping coefficient, which is used to suppress system oscillation; k is the stiffness coefficient, which is used to realize the position recovery function; when k=0, it is a mass-damping model, which is suitable for soft floating follow-up function; when k≠0, it is a mass-damping-elasticity model, which is suitable for position recovery function.
3. The method according to claim 1, characterized in that After the step of sending the joint pulse signal to the servo system so that the robot moves according to the system synthetic displacement, the method further includes: The force information of the robot is collected based on the external torque sensor to determine the FCS external torque; The FCS external torque is converted from the sensor coordinate system to the end tool coordinate system to obtain the TCS external torque; By changing the coordinate system, the induced external torque of the TCS external torque in the world coordinate system WCS is obtained; When the torque selection option of the user is sensor detection, the external torque deviation value is calculated using the induced external torque as the actual contact torque value.
4. The method according to claim 1, characterized in that: After the step of sending the joint pulse signal to the servo system so that the robot moves according to the system synthetic displacement, the method further includes: Detecting the motor position, motor speed and motor current of the servo system of the robot, and calculating the external torque of the joint by a dynamics formula; By means of the robot Jacobian matrix, the joint external torque is converted into the robot end external torque as the algorithm external torque in the world coordinate system WCS; When the user's torque selection option is sensorless measurement, the algorithm external torque is used as the actual contact torque value to calculate the external torque deviation value.
5. The method according to claim 4, characterized in that The step of detecting the motor position, motor speed and motor current of the servo system of the robot and calculating the external torque of the joint by a dynamics formula specifically includes: detecting a motor current of a servo system of the robot, and determining an actual joint torque based on the motor current; Inputting the motor position and the motor speed into a dynamics formula to calculate the theoretical joint torque; The joint external torque is determined according to the joint theoretical torque and the joint actual torque.
6. The method according to claim 1, characterized in that Before the step of sending the joint pulse signal to the servo system so that the robot moves according to the system synthetic displacement, the method further includes: Acquiring motion trajectory data, joint torque data and external force data of the robot during calibration; Based on the motion trajectory data, a dynamic calibration model including mass parameters, inertia parameters and friction parameters of the robot is established; According to the joint torque data and the external force data, the initial parameter values in the dynamic calibration model are calculated; according to the initial parameter values, the inertia coefficient, damping coefficient and stiffness coefficient in the impedance calculation formula are calculated.
7. The method according to claim 6, characterized in that After the step of calculating the initial parameter values in the dynamic calibration model according to the joint torque data and the external force data, the method further comprises: Apply the preset external force to the end of the robot, collect the actual torque data and the calculated torque data; Based on the error value between the actual torque data and the calculated torque data, the initial parameter value is corrected to obtain an optimized parameter value; According to the optimized parameter values, the inertia coefficient, damping coefficient and stiffness coefficient in the impedance calculation formula are corrected.
8. A force control system, characterized in that: include: A trajectory generator is used to generate a motion change curve based on a displacement target and a speed limit value input by a user; An interpolation calculation module, used to determine the six-dimensional position control displacement according to the motion change curve; A torque generator, used for generating a torque variation curve based on a torque target and a torque limit value input by a user; A comparator, used for calculating an external torque deviation value based on an actual contact torque value and the torque variation curve; A force-position converter, used to determine the six-dimensional force-controlled displacement according to the external torque deviation value and the impedance calculation formula; A function selector, for determining a displacement control strategy and a force control strategy corresponding to the six-dimensional position-controlled displacement and the six-dimensional force-controlled displacement, respectively, based on a motion control option selected by a user; A displacement superimposer, used for superimposing the six-dimensional position-controlled displacement and the six-dimensional force-controlled displacement based on the displacement control strategy and the force control strategy to generate a system synthetic displacement; An inverse solution solver is used to solve the synthetic displacement of the system inversely, obtain the motion angle of each joint of the robot, and determine the joint pulse signal; The communication module is used to send the joint pulse signal to the servo system so that the robot moves according to the synthetic displacement of the system.
9. A force control system, characterized in that: include: one or more processors and memory; The memory is coupled to the one or more processors, and the memory is used to store computer program codes, wherein the computer program codes include computer instructions, and the one or more processors call the computer instructions to enable the force control system to execute the method according to any one of claims 1 to 7.
10. A computer-readable storage medium comprising instructions, characterized in that: When the instruction is executed on the force control system, the force control system is caused to execute the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Impedance self-adapting motion control method based on rehabilitation training robot
CN102306029A
Searching and assembling method combining force control
CN110449882A
Automatic robot assembling method for cylindrical-rectangular composite hole type part
CN110549338A
Industrial robot dragging teaching method and system
CN110815190A
Method for correcting friction model, robot and computer readable storage medium
CN114619440A
Cited By
Servo closed-loop control system of six-joint robot
CN121821405A