Mechanical arm control method and device, computer readable storage medium and mechanical arm
Patent Information
- Application Number
- CN202310477739.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-26
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2043-04-26
AI Technical Summary
现有的机械臂控制方法由于需要根据不同的运动功能切换不同的控制算法,导致控制复杂度较高。
By acquiring the actual and planned state variables of the robotic arm, an optimization objective function is established, including end-effector acceleration optimization term, joint acceleration optimization term, and joint torque optimization term. The optimization is then performed according to preset control constraints to obtain motion control quantities such as end-effector contact force, joint acceleration, and joint torque, thus realizing a unified control concept.
Transforming the complex control problem of robotic arms into a unified optimization control problem effectively reduces control complexity.
Smart Images

Figure CN116372937B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of robotic arm technology, and particularly relates to a robotic arm control method, device, computer-readable storage medium, and robotic arm. Background Technology
[0002] Due to their unique operational flexibility, robotic arms have been widely used in fields such as industrial assembly and safety explosion protection.
[0003] A robotic arm is a complex system with high precision, multiple inputs and outputs, high nonlinearity, and strong coupling. It is subject to uncertainties such as parameter perturbation, external interference, and unmodeled dynamics. For different tasks, it is necessary to plan the motion trajectory of the robotic arm joint space, so as to cascade and form the end-effector pose.
[0004] Existing robotic arm control methods require switching between different control algorithms based on different motion functions, resulting in high control complexity. Summary of the Invention
[0005] In view of this, embodiments of this application provide a robotic arm control method, apparatus, computer-readable storage medium, and robotic arm to solve the problem of high complexity in existing robotic arm control methods.
[0006] A first aspect of this application provides a robotic arm control method, which may include: Obtain the actual and planned state variables of the robotic arm; An optimization objective function for the robotic arm is established based on the actual state variables and the planned state variables. The optimization objective function includes an end-effector acceleration optimization term, a joint acceleration optimization term, and a joint torque optimization term. The end-effector acceleration optimization term represents the square of the difference between the actual end-effector acceleration and the corrected planned end-effector acceleration. The joint acceleration optimization term represents the square of the difference between the actual joint acceleration and the corrected planned joint acceleration. The joint torque optimization term represents the square of the joint torque. The first weight corresponding to the end-effector acceleration optimization term is the weight for end-effector control, and the second weight corresponding to the end-effector acceleration optimization term is the weight for joint control. The objective function is optimized and solved according to the preset control constraints to obtain the motion control quantities of the robotic arm; wherein, the motion control quantities include end contact force, joint acceleration and joint torque; The robotic arm is controlled to move according to the motion control parameters.
[0007] In one specific implementation of the first aspect, the step of establishing the optimization objective function of the robotic arm based on the actual state variables and the planned state variables may include: The end effector acceleration optimization term of the robotic arm is determined based on the actual state variables and the planned state variables; The joint acceleration optimization term of the robotic arm is determined based on the actual state variables and the planned state variables; The objective function for optimizing the robotic arm is established based on the end-effector acceleration optimization term, the joint acceleration optimization term, and the preset joint torque optimization term.
[0008] In one specific implementation of the first aspect, establishing the optimization objective function of the robotic arm based on the end-effector acceleration optimization term, the joint acceleration optimization term, and the preset joint torque optimization term may include: Determine the first weight of the end-effector acceleration optimization term; Determine the second weight of the joint acceleration optimization term; The objective function for the robotic arm is established based on the first weight, the second weight, the end-effector acceleration optimization term, the joint acceleration optimization term, and the joint torque optimization term.
[0009] In one specific implementation of the first aspect, establishing the optimization objective function of the robotic arm based on the first weight, the second weight, the end-effector acceleration optimization term, the joint acceleration optimization term, and the joint torque optimization term may include: Establish the optimization objective function as shown in the following equation:
[0010] in, For the terminal acceleration optimization term, For the joint acceleration optimization term, For the joint torque optimization term, For the first weight, is the second weight, and min is the function for finding the minimum value.
[0011] In one specific implementation of the first aspect, before optimizing the objective function according to preset control constraints to obtain the motion control quantity of the robotic arm, the following may be included: Based on the kinematic and dynamic models of the robotic arm, establish the equality constraints of the robotic arm; Based on the joint position limit values and joint torque limit values of the robotic arm, establish the inequality constraint conditions of the robotic arm. The equality constraints and the inequality constraints are used as the control constraints.
[0012] In one specific implementation of the first aspect, establishing the equationual constraints of the robotic arm based on its kinematic and dynamic models may include: Establish the following equality constraints:
[0013]
[0014] in, Let the joint acceleration be the one to be solved. The end contact force to be solved is... The joint torque to be solved is... The inertia term matrix is a preset value. The preset gravity term matrix, The preset Coriolis force and centrifugal force matrix, For the preset Jacobian matrix, It is the identity matrix. The planned contact force is obtained through pre-planning.
[0015] In one specific implementation of the first aspect, establishing the inequality constraints of the robotic arm based on the joint position limits and joint torque limits may include: Establish the inequality constraints as shown in the following equation:
[0016]
[0017] in, Let the joint acceleration be the one to be solved. The end contact force to be solved is... The joint torque to be solved is... It is the identity matrix. This refers to the joint pose at the previous control moment. The joint velocity at the previous control moment. This represents the interval between the current control time and the previous control time. This represents the preset maximum joint pose. This is the preset minimum joint pose. This is the preset maximum joint torque. This is the preset minimum joint torque value.
[0018] A second aspect of this application provides a robotic arm control device, which may include: The state acquisition module is used to acquire the actual state variables and planned state variables of the robotic arm; An optimization objective function establishment module is used to establish an optimization objective function for the robotic arm based on the actual state variables and the planned state variables. The optimization objective function includes an end-effector acceleration optimization term, a joint acceleration optimization term, and a joint torque optimization term. The end-effector acceleration optimization term represents the square of the difference between the actual end-effector acceleration and the corrected planned end-effector acceleration. The joint acceleration optimization term represents the square of the difference between the actual joint acceleration and the corrected planned joint acceleration. The joint torque optimization term represents the square of the joint torque. The first weight corresponding to the end-effector acceleration optimization term is a weight for end-effector control, and the second weight corresponding to the end-effector acceleration optimization term is a weight for joint control. The optimization solution module is used to optimize the objective function according to preset control constraints to obtain the motion control quantities of the robotic arm; wherein, the motion control quantities include end contact force, joint acceleration and joint torque; A motion control module is used to control the movement of the robotic arm according to the motion control quantity.
[0019] In one specific implementation of the second aspect, the optimization objective function establishment module may include: The end-effector acceleration optimization term determination unit is used to determine the end-effector acceleration optimization term of the robotic arm based on the actual state quantity and the planned state quantity; The joint acceleration optimization term determination unit is used to determine the joint acceleration optimization term of the robotic arm based on the actual state quantity and the planned state quantity; The objective function establishment unit is used to establish the objective function of the robotic arm based on the end-effector acceleration optimization term, the joint acceleration optimization term, and the preset joint torque optimization term.
[0020] In one specific implementation of the second aspect, the optimization objective function establishment unit may include: The first weight determination subunit is used to determine the first weight of the terminal acceleration optimization term; The second weight determination subunit is used to determine the second weight of the joint acceleration optimization term; An optimization objective function establishment sub-unit is used to establish the optimization objective function of the robotic arm based on the first weight, the second weight, the end-effector acceleration optimization term, the joint acceleration optimization term, and the joint torque optimization term.
[0021] In one specific implementation of the second aspect, the optimization objective function establishment subunit can be specifically used to establish the optimization objective function as shown in the following formula:
[0022] in, For the terminal acceleration optimization term, For the joint acceleration optimization term, For the joint torque optimization term, For the first weight, is the second weight, and min is the function for finding the minimum value.
[0023] In one specific implementation of the second aspect, the robotic arm control device may further include: An equality constraint establishment module is used to establish equality constraint conditions for the robotic arm based on its kinematic and dynamic models. The inequality constraint condition establishment module is used to establish the inequality constraint conditions of the robotic arm based on the joint position limit value and joint torque limit value of the robotic arm. The control constraint determination module is used to use the equality constraint and the inequality constraint as the control constraints.
[0024] In one specific implementation of the second aspect, the equality constraint establishment module can be specifically used to establish equality constraints as shown in the following equation:
[0025]
[0026] in, Let the joint acceleration be the one to be solved. The end contact force to be solved is... The joint torque to be solved is... The inertia term matrix is a preset value. The preset gravity term matrix, The preset Coriolis force and centrifugal force matrix, For the preset Jacobian matrix, It is the identity matrix. The planned contact force is obtained through pre-planning.
[0027] In one specific implementation of the second aspect, the inequality constraint establishment module can be specifically used to establish inequality constraints as shown in the following equation:
[0028]
[0029] in, This refers to the joint pose at the previous control moment. The joint velocity at the previous control moment. This represents the interval between the current control time and the previous control time. This represents the preset maximum joint pose. This is the preset minimum joint pose. This is the preset maximum joint torque. This is the preset minimum joint torque value.
[0030] A third aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of any of the above-described robotic arm control methods.
[0031] A fourth aspect of this application provides a robotic arm, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of any of the above-described robotic arm control methods.
[0032] The fifth aspect of this application provides a computer program product that, when run on a robotic arm, causes the robotic arm to perform the steps of any of the above-described robotic arm control methods.
[0033] The beneficial effects of this application embodiment compared with the prior art are as follows: This application embodiment obtains the actual state variables and planned state variables of the robotic arm; establishes an optimization objective function for the robotic arm based on the actual state variables and the planned state variables; optimizes and solves the optimization objective function according to preset control constraints to obtain motion control variables such as the end contact force, joint acceleration, and joint torque of the robotic arm; and controls the robotic arm to move according to the motion control variables. Through this application embodiment, a unified control concept is provided for various movements of the robotic arm, and the complex control problem of the robotic arm is set as a unified optimization control problem, effectively reducing the control complexity. Attached Figure Description
[0034] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0035] Figure 1 A schematic flowchart for establishing the control constraints of the robotic arm; Figure 2 This is a flowchart of one embodiment of a robotic arm control method in this application. Figure 3A schematic flowchart for establishing the optimization objective function of the robotic arm based on the actual state variables and the planned state variables; Figure 4 This is a structural diagram of one embodiment of a robotic arm control device according to the present application. Figure 5 This is a schematic block diagram of a robotic arm in an embodiment of this application. Detailed Implementation
[0036] To make the inventive objectives, features, and advantages of this application more apparent and understandable, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the embodiments described below are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0037] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.
[0038] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of the application. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.
[0039] It should also be further understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0040] As used in this specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrases "if determined" or "if [the described condition or event] is detected" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once [the described condition or event] is detected," or "in response to detection of [the described condition or event]."
[0041] Furthermore, in the description of this application, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0042] Existing robotic arm control methods require switching between different control algorithms based on different motion functions, resulting in high control complexity. To address this issue, this application provides a unified control approach for various robotic arm movements: acquiring the actual and planned state variables of the robotic arm; establishing an optimization objective function based on the actual and planned state variables; optimizing the objective function according to preset control constraints to obtain motion control variables such as end effector contact force, joint acceleration, and joint torque; and controlling the robotic arm's movement based on these motion control variables. This application effectively reduces control complexity by setting the complex control problem of the robotic arm as a unified optimization control problem.
[0043] In this embodiment, motion control quantities such as the end contact force, joint acceleration, and joint torque of the robotic arm can be used as the solutions, and then... Figure 1 The process shown is pre-defined with control constraints: Step S101: Establish the equation constraint conditions of the robotic arm based on the kinematic and dynamic models of the robotic arm.
[0044] To achieve unified control of multiple functions of a robotic arm, these diverse functions must satisfy the robotic arm's own dynamic and kinematic mechanisms. In this embodiment, the following equation constraint conditions can be established based on the robotic arm's kinematic and dynamic models:
[0045]
[0046] in, Let the joint acceleration be the one to be solved. The end contact force to be solved is... The joint torque to be solved is... The inertia term matrix is a preset value. The preset gravity term matrix, The preset Coriolis force and centrifugal force matrix, For the preset Jacobian matrix, It is the identity matrix. The planned contact force is obtained through pre-planning.
[0047] Step S102: Establish inequality constraints for the robotic arm based on the joint position limit values and joint torque limit values.
[0048] During its movement, the robotic arm must satisfy the torque constraints and position constraints of its joints. The embodiments of this application can establish the following inequality constraint conditions:
[0049]
[0050] in, This refers to the joint pose at the previous control moment. The joint velocity at the previous control moment. This represents the interval between the current control time and the previous control time. This represents the preset maximum joint pose. This is the preset minimum joint pose. This is the preset maximum joint torque. This is the preset minimum joint torque value.
[0051] Step S103: Use equality constraints and inequality constraints as control constraints.
[0052] After establishing the equality constraints and inequality constraints for the robotic arm, the equality constraints and inequality constraints can be used together as the control constraints for the robotic arm, and the robotic arm can be controlled under these control constraints.
[0053] Please see Figure 2 One embodiment of a robotic arm control method in this application may include: Step S201: Obtain the actual state variables and planned state variables of the robotic arm.
[0054] In one specific implementation of this application, the actual state quantities of the robotic arm can be collected by various preset sensors, including but not limited to at least one of the following: actual end-effector pose, actual end-effector velocity, actual end-effector acceleration, actual joint pose, actual joint velocity, and actual joint acceleration.
[0055] In one specific implementation of this application, the planning state variables of the robotic arm can be planned by various preset robotic arm planning algorithms, including but not limited to at least one of the following: planning end-effector pose, planning end-effector velocity, planning end-effector acceleration, planning joint pose, planning joint velocity, and planning joint acceleration.
[0056] Step S202: Establish the optimization objective function of the robotic arm based on the actual state variables and the planned state variables.
[0057] In one specific implementation of this application embodiment, the optimization objective function may include an end-effector acceleration optimization term, a joint acceleration optimization term, and a joint torque optimization term. Step S202 may specifically include, for example: Figure 3 The process shown: Step S2021: Determine the end-effector acceleration optimization term based on the actual state variables and the planned state variables.
[0058] In one specific implementation of this application, the end-effector acceleration optimization term can be determined according to the following formula:
[0059]
[0060]
[0061] in, For the terminal acceleration optimization term, To and The corresponding joint velocity, To and The corresponding end pose, The first derivative of the Jacobian matrix, To plan the end pose, To plan the terminal speed, To plan the terminal acceleration, This represents the actual end-effector pose. This is the actual end velocity. For the corrected terminal acceleration, The first preset coefficient, The first and second coefficients are preset values. The specific values of the first and second coefficients can be set according to the actual situation. This application embodiment does not impose specific limitations on this.
[0062] Step S2022: Determine the joint acceleration optimization term of the robotic arm based on the actual state variables and the planned state variables.
[0063] In one specific implementation of this application, the joint acceleration optimization term can be determined according to the following formula:
[0064]
[0065]
[0066] in, For joint acceleration optimization, To plan joint acceleration, This is the correction amount for joint acceleration. For the corrected planned joint acceleration, This represents the change in joint pose between the current control moment and the previous control moment. This represents the change in joint velocity between the current control moment and the previous control moment. M For the preset quality, D The preset damping coefficient,K These are preset stiffness coefficients, and the specific values of these coefficients can be set according to actual conditions. This application embodiment does not impose specific limitations on them.
[0067] Step S2023: Establish the optimization objective function of the robotic arm based on the end-effector acceleration optimization term, joint acceleration optimization term, and preset joint torque optimization term.
[0068] In one specific implementation of this application, the joint torque optimization term can be determined according to the following formula:
[0069] in, This is a joint torque optimization term.
[0070] After determining the end-effector acceleration optimization term, joint acceleration optimization term, and joint torque optimization term, a first weight for the end-effector acceleration optimization term and a second weight for the joint acceleration optimization term can be determined according to the actual situation. The specific values of the first weight and the second weight can be set according to the actual situation, and this embodiment does not impose specific limitations on them. When the first weight is 0 and the second weight is not 0, it is joint control alone; when the first weight is not 0 and the second weight is 0, it is end-effector control alone; when both the first weight and the second weight are not 0, it is joint control of the end-effector and the joint.
[0071] In one specific implementation of this application, an optimization objective function can be established based on the first weight, the second weight, the end-effector acceleration optimization term, the joint acceleration optimization term, and the joint torque optimization term, as shown in the following formula:
[0072] in, As the first weight, is the second weight, and min is the function for finding the minimum value.
[0073] Step S203: Optimize the objective function according to the preset control constraints to obtain the motion control quantity of the robotic arm.
[0074] Given the control constraints and the objective function, the objective function can be optimized under the control constraints to obtain the end contact force, joint acceleration, and joint torque, which can then be used as the motion control variables of the robotic arm.
[0075] In the embodiments of this application, any optimization solution method in the prior art can be adopted according to the actual situation, and no specific limitation is made here.
[0076] Step S204: Control the robotic arm to move according to the motion control quantity.
[0077] It should be noted that the motion control of the robotic arm is generally performed cyclically, meaning that motion control of the robotic arm is performed once in each control cycle, and the moment of motion control execution within each control cycle is recorded as the control moment. The above process is illustrated using the control moment within a certain control cycle (i.e., the current control moment). In the next control cycle, the motion control will be re-executed according to changes in the actual situation, and subsequent control cycles will follow this pattern. Through the continuous control process across various control cycles, the robotic arm can be controlled to move smoothly.
[0078] In summary, this application's embodiments obtain the actual and planned state variables of the robotic arm; establish an optimization objective function for the robotic arm based on the actual and planned state variables; optimize and solve the optimization objective function according to preset control constraints to obtain motion control variables such as the end effector contact force, joint acceleration, and joint torque of the robotic arm; and control the robotic arm to move based on the motion control variables. Through this application's embodiments, a unified control concept is provided for various movements of the robotic arm, setting the complex control problem of the robotic arm as a unified optimization control problem, effectively reducing control complexity.
[0079] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0080] Corresponding to the robotic arm control method described in the above embodiments, Figure 4 This illustration shows a structural diagram of one embodiment of a robotic arm control device provided in this application.
[0081] In this embodiment, a robotic arm control device may include: The state acquisition module 401 is used to acquire the actual state variables and planned state variables of the robotic arm. The objective function establishment module 402 is used to establish the objective function of the robotic arm based on the actual state variables and the planned state variables. The optimization solution module 403 is used to optimize the objective function according to the preset control constraints to obtain the motion control quantities of the robotic arm; wherein, the motion control quantities include end contact force, joint acceleration and joint torque; The motion control module 404 is used to control the movement of the robotic arm according to the motion control quantity.
[0082] In one specific implementation of this application embodiment, the optimization objective function establishment module may include: The end-effector acceleration optimization term determination unit is used to determine the end-effector acceleration optimization term of the robotic arm based on the actual state quantity and the planned state quantity; The joint acceleration optimization term determination unit is used to determine the joint acceleration optimization term of the robotic arm based on the actual state quantity and the planned state quantity; The objective function establishment unit is used to establish the objective function of the robotic arm based on the end-effector acceleration optimization term, the joint acceleration optimization term, and the preset joint torque optimization term.
[0083] In one specific implementation of this application embodiment, the optimization objective function establishment unit may include: The first weight determination subunit is used to determine the first weight of the terminal acceleration optimization term; The second weight determination subunit is used to determine the second weight of the joint acceleration optimization term; An optimization objective function establishment sub-unit is used to establish the optimization objective function of the robotic arm based on the first weight, the second weight, the end-effector acceleration optimization term, the joint acceleration optimization term, and the joint torque optimization term.
[0084] In one specific implementation of this application embodiment, the optimization objective function establishment subunit can be specifically used to establish the optimization objective function as shown in the following formula:
[0085] in, For the terminal acceleration optimization term, For the joint acceleration optimization term, For the joint torque optimization term, For the first weight, is the second weight, and min is the function for finding the minimum value.
[0086] In one specific implementation of this application embodiment, the robotic arm control device may further include: An equality constraint establishment module is used to establish equality constraint conditions for the robotic arm based on its kinematic and dynamic models. The inequality constraint condition establishment module is used to establish the inequality constraint conditions of the robotic arm based on the joint position limit value and joint torque limit value of the robotic arm. The control constraint determination module is used to use the equality constraint and the inequality constraint as the control constraints.
[0087] In one specific implementation of this application embodiment, the equality constraint establishment module can be specifically used to establish equality constraints as shown in the following formula:
[0088]
[0089] in, Let the joint acceleration be the one to be solved. The end contact force to be solved is... The joint torque to be solved is... The inertia term matrix is a preset value. The preset gravity term matrix, The preset Coriolis force and centrifugal force matrix, For the preset Jacobian matrix, It is the identity matrix. The planned contact force is obtained through pre-planning.
[0090] In one specific implementation of this application embodiment, the inequality constraint establishment module can be specifically used to establish inequality constraints as shown in the following formula:
[0091]
[0092] in, This refers to the joint pose at the previous control moment. The joint velocity at the previous control moment. This represents the interval between the current control time and the previous control time. This represents the preset maximum joint pose. This is the preset minimum joint pose. This is the preset maximum joint torque. This is the preset minimum joint torque value.
[0093] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the devices, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0094] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0095] Figure 5 A schematic block diagram of a robotic arm provided in an embodiment of this application is shown. For ease of explanation, only the parts related to the embodiment of this application are shown.
[0096] like Figure 5 As shown, the robotic arm 5 in this embodiment includes a processor 50, a memory 51, and a computer program 52 stored in the memory 51 and executable on the processor 50. When the processor 50 executes the computer program 52, it implements the steps described in the various robotic arm control method embodiments above, for example... Figure 2 Steps S201 to S204 are shown. Alternatively, when the processor 50 executes the computer program 52, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 4 The functions of modules 401 to 404 are shown.
[0097] For example, the computer program 52 may be divided into one or more modules / units, which are stored in the memory 51 and executed by the processor 50 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program 52 in the robotic arm 5.
[0098] Those skilled in the art will understand that Figure 5 This is merely an example of robotic arm 5 and does not constitute a limitation on robotic arm 5. It may include more or fewer components than shown, or combine certain components, or different components. For example, robotic arm 5 may also include input / output devices, network access devices, buses, etc.
[0099] The processor 50 can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0100] The memory 51 can be an internal storage unit of the robotic arm 5, such as a hard drive or memory of the robotic arm 5. The memory 51 can also be an external storage device of the robotic arm 5, such as a plug-in hard drive, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card equipped on the robotic arm 5. Furthermore, the memory 51 can include both internal storage units and external storage devices of the robotic arm 5. The memory 51 is used to store the computer program and other programs and data required by the robotic arm 5. The memory 51 can also be used to temporarily store data that has been output or will be output.
[0101] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0102] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0103] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0104] In the embodiments provided in this application, it should be understood that the disclosed devices / robotic arms and methods can be implemented in other ways. For example, the device / robotic arm embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0105] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0106] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0107] If the integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the content included in the computer-readable storage medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable storage medium does not include electrical carrier signals and telecommunication signals.
[0108] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A robotic arm control method, characterized in that, include: Obtain the actual and planned state variables of the robotic arm; The optimization objective function of the robotic arm is established based on the actual state variables and the planned state variables; The optimization objective function includes an end-effector acceleration optimization term, a joint acceleration optimization term, and a joint torque optimization term. The end-effector acceleration optimization term is used to characterize the square of the difference between the actual end-effector acceleration and the corrected planned end-effector acceleration. The joint acceleration optimization term is used to characterize the square of the difference between the actual joint acceleration and the corrected planned joint acceleration. The joint torque optimization term is used to characterize the square of the joint torque. The first weight corresponding to the end-effector acceleration optimization term is the weight for end-effector control, and the second weight corresponding to the joint acceleration optimization term is the weight for joint control. The corrected planned terminal acceleration is the sum of the following three factors: planned terminal acceleration, the product of the difference between the planned terminal pose and the actual terminal pose and a preset first coefficient, and the product of the difference between the planned terminal velocity and the actual terminal velocity and a preset second coefficient. The corrected planned joint acceleration is the sum of the planned joint acceleration and the joint acceleration correction amount. The joint acceleration correction amount is: the joint torque minus the product of the change in joint velocity between the current control time and the previous control time and the preset damping coefficient, minus the product of the change in joint pose between the current control time and the previous control time and the preset stiffness coefficient, and then divided by the preset mass. The objective function is optimized and solved according to the preset control constraints to obtain the motion control quantities of the robotic arm; wherein, the motion control quantities include end contact force, joint acceleration and joint torque; The robotic arm is controlled to move according to the motion control parameters.
2. The robotic arm control method according to claim 1, characterized in that, The step of establishing the optimization objective function for the robotic arm based on the actual state variables and the planned state variables includes: The end effector acceleration optimization term of the robotic arm is determined based on the actual state variables and the planned state variables; The joint acceleration optimization term of the robotic arm is determined based on the actual state variables and the planned state variables; The objective function for optimizing the robotic arm is established based on the end-effector acceleration optimization term, the joint acceleration optimization term, and the preset joint torque optimization term.
3. The robotic arm control method according to claim 2, characterized in that, The step of establishing the optimization objective function for the robotic arm based on the end-effector acceleration optimization term, the joint acceleration optimization term, and the preset joint torque optimization term includes: Determine the first weight of the end-effector acceleration optimization term; Determine the second weight of the joint acceleration optimization term; The objective function for optimizing the robotic arm is established based on the first weight, the second weight, the end-effector acceleration optimization term, the joint acceleration optimization term, and the joint torque optimization term.
4. The robotic arm control method according to claim 3, characterized in that, The step of establishing the optimization objective function for the robotic arm based on the first weight, the second weight, the end-effector acceleration optimization term, the joint acceleration optimization term, and the joint torque optimization term includes: Establish the optimization objective function as shown in the following equation: in, Func 1 represents the end-effector acceleration optimization term. Func 2 represents the joint acceleration optimization term. Func 3 represents the joint torque optimization term. For the first weight, is the second weight, and min is the function for finding the minimum value.
5. The robotic arm control method according to any one of claims 1 to 4, characterized in that, Before optimizing the objective function according to preset control constraints to obtain the motion control quantities of the robotic arm, the process further includes: Based on the kinematic and dynamic models of the robotic arm, establish the equality constraints of the robotic arm; Establish inequality constraints for the robotic arm based on the joint position limit values and joint torque limit values. The equality constraints and the inequality constraints are used as the control constraints.
6. The robotic arm control method according to claim 5, characterized in that, The step of establishing the equality constraints of the robotic arm based on its kinematic and dynamic models includes: Establish the following equality constraints: in, Let be the joint acceleration to be solved. F The end contact force to be solved is... The joint torque to be solved is... M q The inertia term matrix is a preset value. G The preset gravity term matrix, C The preset Coriolis force and centrifugal force matrix, J For the preset Jacobian matrix, I It is the identity matrix. The planned contact force is obtained through pre-planning.
7. The robotic arm control method according to claim 5, characterized in that, The step of establishing the inequality constraints for the robotic arm based on its joint position limits and joint torque limits includes: Establish the inequality constraints as shown in the following equation: in, Let be the joint acceleration to be solved. F The end contact force to be solved is... The joint torque to be solved is... I It is the identity matrix. This refers to the joint pose at the previous control moment. This is the joint velocity at the previous control moment. This represents the interval between the current control time and the previous control time. q max This represents the preset maximum joint pose. q min This is the preset minimum joint pose. This is the preset maximum joint torque. This is the preset minimum joint torque value.
8. A robotic arm control device, characterized in that, include: The state acquisition module is used to acquire the actual state variables and planned state variables of the robotic arm; An optimization objective function establishment module is used to establish an optimization objective function for the robotic arm based on the actual state variables and the planned state variables. The optimization objective function includes an end-effector acceleration optimization term, a joint acceleration optimization term, and a joint torque optimization term. The end-effector acceleration optimization term is used to characterize the square of the difference between the actual end-effector acceleration and the corrected planned end-effector acceleration. The joint acceleration optimization term is used to characterize the square of the difference between the actual joint acceleration and the corrected planned joint acceleration. The joint torque optimization term is used to characterize the square of the joint torque. The first weight corresponding to the end-effector acceleration optimization term is the weight for end-effector control, and the second weight corresponding to the joint acceleration optimization term is the weight for joint control. The corrected planned terminal acceleration is the sum of the following three factors: planned terminal acceleration, the product of the difference between the planned terminal pose and the actual terminal pose and a preset first coefficient, and the product of the difference between the planned terminal velocity and the actual terminal velocity and a preset second coefficient. The corrected planned joint acceleration is the sum of the planned joint acceleration and the joint acceleration correction amount. The joint acceleration correction amount is: the joint torque minus the product of the change in joint velocity between the current control time and the previous control time and the preset damping coefficient, minus the product of the change in joint pose between the current control time and the previous control time and the preset stiffness coefficient, and then divided by the preset mass. The optimization solution module is used to optimize the objective function according to preset control constraints to obtain the motion control quantities of the robotic arm; wherein, the motion control quantities include end contact force, joint acceleration and joint torque; A motion control module is used to control the movement of the robotic arm according to the motion control quantity.
9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the robotic arm control method as described in any one of claims 1 to 7.
10. A robotic arm, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the robotic arm control method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Motion control method and device of mobile robot and mobile robot
CN114454180A
