Force-position hybrid control method, device, computer-readable storage medium and robot
By constructing and optimizing the position, acceleration and velocity error terms of the robot, the expected acceleration is obtained, and the problems of poor system oscillation and stability in force-level hybrid control are solved, and more stable robot motion control is achieved.
Patent Information
- Application Number
- CN202210764336.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-30
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2042-06-30
AI Technical Summary
The existing force-level hybrid control methods are prone to system oscillation and have poor stability, especially when the solution results of trajectory tracking control and force tracking control produce conflicting tendencies.
By obtaining the robot's expected pose and expected control force, combining the actual pose and velocity, the pose error, acceleration error and velocity optimization terms are constructed, and the overall optimization terms are formed to minimize the optimization objective function to solve, obtain the expected acceleration, and Control the robot to move at the desired acceleration.
Effectively alleviate system oscillation, improve the stability of robot motion, comprehensively consider trajectory tracking control and force tracking control, and improve overall control accuracy.
Smart Images

Figure CN115042205B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of robotics technology, and in particular, relates to a force-position hybrid control method, device, computer-readable storage medium, and robot. Background Art
[0002] Force-position hybrid control refers to the technology of using trajectory tracking control (i.e. position control) and force tracking control (i.e. force control) simultaneously to control the motion of the robot. Through force-position hybrid control, more precise motion control of the robot can be achieved.
[0003] However, the existing force-position hybrid control method generally simply superimposes the solution results of the two control methods. When the solution results of the two control methods produce contradictory movement tendencies, the system will oscillate and have poor stability. Summary of the invention
[0004] In view of this, the embodiments of the present application provide a force-position hybrid control method, device, computer-readable storage medium and robot to solve the problem that the existing force-position hybrid control method is prone to system oscillation and poor stability.
[0005] A first aspect of an embodiment of the present application provides a force-position hybrid control method, which may include:
[0006] Obtaining the desired posture and desired control force of the robot; wherein the desired posture is the posture obtained by trajectory tracking control, and the desired control force is the control force obtained by force tracking control;
[0007] Obtaining the actual position and speed of the robot;
[0008] Constructing a posture error optimization term according to the actual posture and the expected posture; constructing an acceleration error optimization term according to the actual speed, the expected control force and the expected acceleration to be solved; constructing a speed optimization term according to the actual speed; taking the sum of the posture error optimization term, the acceleration error optimization term and the speed optimization term as the overall optimization term; constructing an optimization objective function with the goal of minimizing the overall optimization term; optimizing and solving the optimization objective function under preset constraints to obtain the expected acceleration;
[0009] The robot is controlled to move according to the expected acceleration.
[0010] In a specific implementation of the first aspect, constructing a posture error optimization item according to the actual posture and the expected posture may include:
[0011] Calculating a posture error according to the actual posture and the desired posture;
[0012] The posture error optimization item is constructed according to the posture error and a preset first weight.
[0013] In a specific implementation of the first aspect, constructing an acceleration error optimization term according to the actual speed, the expected control force, and the expected acceleration to be solved may include:
[0014] Calculating an acceleration error according to the actual speed, the expected acceleration, and the expected control force;
[0015] The acceleration error optimization item is constructed according to the acceleration error and a preset second weight.
[0016] In a specific implementation of the first aspect, obtaining the expected posture and expected control force of the robot may include:
[0017] Obtaining a desired position and posture output by a trajectory tracking controller of the robot;
[0018] Obtaining a desired control force output by a force tracking controller of the robot.
[0019] A second aspect of the embodiment of the present application provides a force-position hybrid control device, which may include:
[0020] An expected quantity acquisition module, used to acquire an expected posture and an expected control force of the robot; wherein the expected posture is a posture obtained by trajectory tracking control, and the expected control force is a control force obtained by force tracking control;
[0021] An actual quantity acquisition module, used to obtain the actual position and speed of the robot;
[0022] An acceleration calculation module is used to construct a posture error optimization item according to the actual posture and the expected posture; construct an acceleration error optimization item according to the actual speed, the expected control force and the expected acceleration to be solved; construct a speed optimization item according to the actual speed; take the sum of the posture error optimization item, the acceleration error optimization item and the speed optimization item as the overall optimization item; construct an optimization objective function with the goal of minimizing the overall optimization item; optimize and solve the optimization objective function under preset constraints to obtain the expected acceleration;
[0023] The motion control module is used to control the robot to move according to the desired acceleration.
[0024] In a specific implementation of the second aspect, the posture error optimization item construction unit can be specifically used to: calculate the posture error based on the actual posture and the expected posture; and construct the posture error optimization item based on the posture error and a preset first weight.
[0025] In a specific implementation of the second aspect, the acceleration error optimization item construction unit can be specifically used to: calculate the acceleration error based on the actual speed, the expected acceleration and the expected control force; and construct the acceleration error optimization item based on the acceleration error and a preset second weight.
[0026] In a specific implementation of the second aspect, the expected amount acquisition module may include:
[0027] An expected posture acquisition submodule, used to acquire an expected posture output by a trajectory tracking controller of the robot;
[0028] The expected control force acquisition submodule is used to acquire the expected control force output by the force tracking controller of the robot.
[0029] A third aspect of an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the steps of any one of the above-mentioned force-position hybrid control methods are implemented.
[0030] The fourth aspect of an embodiment of the present application provides a robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the above-mentioned force-position hybrid control methods when executing the computer program.
[0031] A fifth aspect of an embodiment of the present application provides a computer program product. When the computer program product runs on a robot, the robot executes the steps of any one of the above-mentioned force-position hybrid control methods.
[0032] Compared with the prior art, the embodiments of the present application have the following beneficial effects: the embodiments of the present application obtain the desired posture and desired control force of the robot; wherein the desired posture is the posture obtained by trajectory tracking control, and the desired control force is the control force obtained by force tracking control; the actual state quantity of the robot is obtained; the expected acceleration corresponding to the desired posture, the expected control force and the actual state quantity is calculated; and the robot is controlled to move according to the expected acceleration. In the embodiments of the present application, the two control modes of trajectory tracking control and force tracking control are regarded as an organic whole, and the two control modes are comprehensively considered, which can effectively alleviate system oscillation and improve the stability of robot movement. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0034] Figure 1 This is a flow chart of an embodiment of a force-position hybrid control method in an embodiment of the present application;
[0035] Figure 2 A schematic flow chart for calculating the expected acceleration corresponding to the expected posture, the expected control force and the actual state quantity;
[0036] Figure 3 A schematic flow chart for constructing an optimization objective function based on desired posture, desired control force and actual state quantity;
[0037] Figure 4 This is a structural diagram of an embodiment of a force-position hybrid control device in an embodiment of the present application;
[0038] Figure 5 This is a schematic block diagram of a robot in an embodiment of the present application. DETAILED DESCRIPTION
[0039] In order to make the purpose, features, and advantages of the invention of this application more obvious and easy to understand, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the embodiments described below are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0040] It should be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.
[0041] It should also be understood that the terms used in this application specification are only for the purpose of describing specific embodiments and are not intended to limit the application. As used in this application specification and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.
[0042] It should be further understood that the term “and / or” used in the specification and appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0043] As used in this specification and the appended claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if [described condition or event] is detected" may be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0044] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0045] The execution subject of the embodiment of the present application can be any type of robot. In the embodiment of the present application, the two control modes of trajectory tracking control and force tracking control are regarded as an organic whole, and the two control modes are comprehensively considered, which can effectively alleviate system oscillation and improve the stability of robot movement.
[0046] See also Figure 1 , an embodiment of a force-position hybrid control method in an embodiment of the present application may include:
[0047] Step S101: Obtain the desired position and desired control force of the robot.
[0048] The expected posture is the posture obtained by trajectory tracking control, and the expected control force is the control force obtained by force tracking control.
[0049] A trajectory tracking controller for position control may be pre-set in the robot. The trajectory tracking controller may use any trajectory tracking control method in the prior art to control the motion of the robot according to actual conditions, and the embodiments of the present application do not make specific limitations on this.
[0050] Accordingly, a force tracking controller for force control can be pre-set in the robot. The force tracking controller can use any force tracking control method in the prior art to control the motion of the robot according to actual conditions. The embodiments of the present application do not make specific limitations on this.
[0051] In an embodiment of the present application, the posture planned and output by the trajectory tracking controller can be used as the desired posture, and the control force planned and output by the force tracking controller can be used as the desired control force.
[0052] Step S102: Obtain the actual state of the robot.
[0053] In the embodiment of the present application, actual state quantities such as the actual position and speed of the robot can be collected through various preset sensors.
[0054] Step S103: Calculate the expected acceleration corresponding to the expected posture, expected control force and actual state quantity.
[0055] like Figure 2 As shown, step S103 may specifically include the following process:
[0056] Step S1031: construct an optimization objective function according to the desired posture, the desired control force and the actual state quantity.
[0057] like Figure 3 As shown, step S1031 may specifically include the following process:
[0058] Step S10311: construct a posture error optimization item according to the actual posture and the expected posture.
[0059] Specifically, a posture error can be calculated according to the actual posture and the expected posture, and a posture error optimization item can be constructed according to the posture error and a preset first weight.
[0060] In the embodiment of the present application, the actual posture can be expressed in the form of a vector: x = [x1, x2, x3, x4, x5, x6], wherein x1, x2 and x3 are respectively the position components corresponding to the three-dimensional coordinate axes (X axis, Y axis and Z axis) of the Cartesian coordinate system in the actual posture, and x4, x5 and x6 are respectively the attitude components (i.e., rotation angle components) corresponding to the three-dimensional coordinate axes (X axis, Y axis and Z axis) of the Cartesian coordinate system in the actual posture.
[0061] The desired pose can be expressed in vector form as: in, and are the position components corresponding to the three-dimensional coordinate axes (X-axis, Y-axis and Z-axis) of the Cartesian coordinate system in the desired posture, and They are the posture components corresponding to the three-dimensional coordinate axes (X-axis, Y-axis and Z-axis) of the Cartesian coordinate system in the desired posture.
[0062] In a specific implementation of the embodiment of the present application, the calculation formula of the posture error optimization term is as follows:
[0063]
[0064] Among them, ω1 is the first weight, that is, the weight of trajectory tracking control, is the posture error, q pos is the pose error optimization term.
[0065] Step S10312: construct an acceleration error optimization term according to the actual speed, the expected control force and the expected acceleration to be solved.
[0066] Specifically, the acceleration error may be calculated according to the actual speed, the expected acceleration, and the expected control force, and the acceleration error optimization item may be constructed according to the acceleration error and a preset second weight.
[0067] In the embodiment of the present application, the actual speed can be expressed in the form of a vector: in, and are the velocity components corresponding to the three-dimensional coordinate axes (X-axis, Y-axis and Z-axis) of the Cartesian coordinate system in the actual velocity, and They are the angular velocity components corresponding to the three-dimensional coordinate axes (X-axis, Y-axis and Z-axis) of the Cartesian coordinate system in the actual velocity.
[0068] The expected acceleration can be expressed in vector form as: in, and are the acceleration components corresponding to the three-dimensional coordinate axes (X-axis, Y-axis and Z-axis) of the Cartesian coordinate system in the expected acceleration, and They are angular acceleration components corresponding to the three-dimensional coordinate axes (X-axis, Y-axis, and Z-axis) of the Cartesian coordinate system in the desired acceleration.
[0069] The desired control force can be expressed in the form of a vector: F = [F1, F2, F3, F4, F5, F6], wherein F1, F2 and F3 are force components corresponding to the three-dimensional coordinate axes (X axis, Y axis and Z axis) of the Cartesian coordinate system in the desired control force, and F4, F5 and F6 are torque components corresponding to the three-dimensional coordinate axes (X axis, Y axis and Z axis) of the Cartesian coordinate system in the desired control force.
[0070] In a specific implementation of the embodiment of the present application, the calculation formula of the speed error optimization term is as follows:
[0071]
[0072] Among them, ω2 is the second weight, that is, the weight of force tracking control, c is the preset damping coefficient, m is the preset mass, w i is the acceleration error, q acc is the speed error optimization term.
[0073] Step S10313: construct speed optimization items according to the actual speed.
[0074] In a specific implementation of the embodiment of the present application, the calculation formula of the speed optimization item is as follows:
[0075]
[0076] Among them, q sp Optimized for speed.
[0077] Step S10314: construct an optimization objective function based on the posture error optimization term, the acceleration error optimization term and the speed optimization term.
[0078] In a specific implementation of the embodiment of the present application, the sum of the posture error optimization term, the acceleration error optimization term and the speed optimization term can be used as the overall optimization term, and the optimization objective function is constructed with the goal of minimizing the overall optimization term. The optimization objective function can be expressed as:
[0079]
[0080] Among them, min is the minimization function. The specific values of the first weight and the second weight can be set and adjusted according to the actual situation. By adjusting these two weights, the priority of trajectory tracking accuracy and force tracking accuracy can be effectively reduced, and the oscillation problem caused by the contradiction between trajectory tracking and force tracking can be reduced.
[0081] Step S1032: Optimize and solve the optimization objective function under preset constraints to obtain the expected acceleration.
[0082] In a specific implementation of the embodiment of the present application, the constraint condition shown in the following formula may be constructed:
[0083]
[0084] in, is the preset lower speed limit. is the preset speed upper limit, is the preset lower limit of acceleration, It is the preset upper limit of acceleration.
[0085] Based on this constraint, the optimization objective function is optimized and solved. When the overall optimization item reaches the minimum value, the corresponding The value of is the desired acceleration.
[0086] Step S104: Control the robot to move according to the desired acceleration.
[0087] It should be noted that the motion control of the robot is generally performed in cycles, that is, the motion control of the robot is performed once in each control cycle. Figure 1 The process shown is explained by taking a certain control cycle (recorded as cycle t) as an example. In the next control cycle (recorded as cycle t+1), motion control will be re-performed as the actual situation changes, and the subsequent control cycles are analogous. The state quantities of two adjacent control cycles can be established with the following relationship:
[0088]
[0089] Among them, x i (t) and are the position, velocity and acceleration of period t, respectively, x i (t+1) and are the position and velocity of period t+1 respectively.
[0090] In summary, the embodiment of the present application obtains the desired posture and desired control force of the robot; wherein the desired posture is the posture obtained by trajectory tracking control, and the desired control force is the control force obtained by force tracking control; obtains the actual state quantity of the robot; calculates the expected acceleration corresponding to the desired posture, the expected control force and the actual state quantity; and controls the robot to move according to the expected acceleration. In the embodiment of the present application, the two control methods of trajectory tracking control and force tracking control are regarded as an organic whole, and the two control methods are comprehensively considered, which can effectively alleviate system oscillations and improve the stability of robot movement.
[0091] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0092] Corresponding to the force-position hybrid control method described in the above embodiment, Figure 4 A structural diagram of an embodiment of a force-position hybrid control device provided in an embodiment of the present application is shown.
[0093] In this embodiment, a force-position hybrid control device may include:
[0094] The expected quantity acquisition module 401 is used to obtain the expected posture and expected control force of the robot; wherein the expected posture is the posture obtained by trajectory tracking control, and the expected control force is the control force obtained by force tracking control;
[0095] An actual quantity acquisition module 402 is used to acquire the actual state quantity of the robot;
[0096] The acceleration calculation module 403 is used to calculate the expected acceleration corresponding to the expected posture, the expected control force and the actual state quantity;
[0097] The motion control module 404 is used to control the robot to move according to the desired acceleration.
[0098] In a specific implementation of the embodiment of the present application, the acceleration calculation module may include:
[0099] An optimization objective function construction submodule is used to construct an optimization objective function according to the desired posture, the desired control force and the actual state quantity;
[0100] The optimization objective function solving submodule is used to optimize and solve the optimization objective function under preset constraints to obtain the expected acceleration.
[0101] In a specific implementation of the embodiment of the present application, the actual state quantity may include an actual posture and an actual speed;
[0102] The optimization objective function solving submodule may include:
[0103] A posture error optimization item construction unit, used for constructing a posture error optimization item according to the actual posture and the expected posture;
[0104] An acceleration error optimization term construction unit, used to construct an acceleration error optimization term according to the actual speed, the expected control force and the expected acceleration to be solved;
[0105] A speed optimization item construction unit, used for constructing a speed optimization item according to the actual speed;
[0106] The optimization objective function construction unit is used to construct the optimization objective function according to the posture error optimization term, the acceleration error optimization term and the speed optimization term.
[0107] In a specific implementation of an embodiment of the present application, the posture error optimization item construction unit can be specifically used to: calculate the posture error based on the actual posture and the expected posture; and construct the posture error optimization item based on the posture error and a preset first weight.
[0108] In a specific implementation of an embodiment of the present application, the acceleration error optimization item construction unit can be specifically used to: calculate the acceleration error based on the actual speed, the expected acceleration and the expected control force; and construct the acceleration error optimization item based on the acceleration error and a preset second weight.
[0109] In a specific implementation method of an embodiment of the present application, the optimization objective function construction unit can be specifically used to: take the sum of the posture error optimization item, the acceleration error optimization item and the speed optimization item as the overall optimization item; and construct the optimization objective function with the goal of minimizing the overall optimization item.
[0110] In a specific implementation of the embodiment of the present application, the expected amount acquisition module may include:
[0111] An expected posture acquisition submodule, used to acquire an expected posture output by a trajectory tracking controller of the robot;
[0112] The expected control force acquisition submodule is used to acquire the expected control force output by the force tracking controller of the robot.
[0113] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices, modules and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0114] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0115] Figure 5 A schematic block diagram of a robot provided in an embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.
[0116] like Figure 5 As shown, the robot 5 of 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, the steps in the above-mentioned force-position hybrid control method embodiments are implemented, for example Figure 1 Alternatively, when the processor 50 executes the computer program 52, the functions of each module / unit in the above-mentioned device embodiments are realized, for example Figure 4 Functions of modules 401 to 404 are shown.
[0117] Exemplarily, 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 the present application. The one or more modules / units may be a series of computer program instruction segments capable of completing specific functions, which are used to describe the execution process of the computer program 52 in the robot 5.
[0118] Those skilled in the art will understand that Figure 5 It is only an example of the robot 5 and does not constitute a limitation of the robot 5. The robot 5 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robot 5 may also include input and output devices, network access devices, buses, etc.
[0119] The processor 50 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.
[0120] The memory 51 may be an internal storage unit of the robot 5, such as a hard disk or memory of the robot 5. The memory 51 may also be an external storage device of the robot 5, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the robot 5. Further, the memory 51 may include both an internal storage unit of the robot 5 and an external storage device. The memory 51 is used to store the computer program and other programs and data required by the robot 5. The memory 51 may also be used to temporarily store data that has been output or is to be output.
[0121] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by 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 embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.
[0122] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0123] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example 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 performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0124] In the embodiments provided in the present application, it should be understood that the disclosed devices / robots and methods can be implemented in other ways. For example, the device / robot embodiments described above are merely schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0125] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0126] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0127] If the integrated module / unit is implemented in the form of 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, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable storage medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable storage media do not include electric carrier signals and telecommunication signals.
[0128] The embodiments described above 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, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A force-position hybrid control method, characterized in that: include: Obtaining the desired posture and desired control force of the robot; wherein the desired posture is the posture obtained by trajectory tracking control, and the desired control force is the control force obtained by force tracking control; Obtaining the actual position and speed of the robot; Constructing a posture error optimization term according to the actual posture and the expected posture; constructing an acceleration error optimization term according to the actual speed, the expected control force and the expected acceleration to be solved; constructing a speed optimization term according to the actual speed; taking the sum of the posture error optimization term, the acceleration error optimization term and the speed optimization term as the overall optimization term; constructing an optimization objective function with the goal of minimizing the overall optimization term; optimizing and solving the optimization objective function under preset constraints to obtain the expected acceleration; The robot is controlled to move according to the expected acceleration.
2. The force-position hybrid control method according to claim 1, characterized in that: The constructing a posture error optimization item according to the actual posture and the expected posture comprises: Calculating a posture error according to the actual posture and the desired posture; The posture error optimization item is constructed according to the posture error and a preset first weight.
3. The force-position hybrid control method according to claim 1, characterized in that: The constructing an acceleration error optimization term according to the actual speed, the expected control force and the expected acceleration to be solved includes: Calculating an acceleration error according to the actual speed, the expected acceleration, and the expected control force; The acceleration error optimization item is constructed according to the acceleration error and a preset second weight.
4. The force-position hybrid control method according to any one of claims 1 to 3, characterized in that: The obtaining of the desired position and desired control force of the robot includes: Obtaining a desired position and posture output by a trajectory tracking controller of the robot; Obtaining a desired control force output by a force tracking controller of the robot.
5. A force-position hybrid control device, characterized in that: include: An expected quantity acquisition module, used to acquire an expected posture and an expected control force of the robot; wherein the expected posture is a posture obtained by trajectory tracking control, and the expected control force is a control force obtained by force tracking control; An actual quantity acquisition module, used to obtain the actual position and speed of the robot; An acceleration calculation module is used to construct a posture error optimization item according to the actual posture and the expected posture; construct an acceleration error optimization item according to the actual speed, the expected control force and the expected acceleration to be solved; construct a speed optimization item according to the actual speed; take the sum of the posture error optimization item, the acceleration error optimization item and the speed optimization item as the overall optimization item; construct an optimization objective function with the goal of minimizing the overall optimization item; optimize and solve the optimization objective function under preset constraints to obtain the expected acceleration; The motion control module is used to control the robot to move according to the desired acceleration.
6. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the force-position hybrid control method according to any one of claims 1 to 4 are implemented.
7. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the force-position hybrid control method according to any one of claims 1 to 4 are implemented.
Citation Information
Patent Citations
Real-time navigation control method and device of medical micro robots
CN112237478A
Robot and gait control method and device thereof
CN113134833A