Robot and Its Contact Control Method, Device, and Storage Medium
By determining the optimization target and acceleration constraint model in the robot and adjusting the execution acceleration, the jitter or vibration problems caused by instability of the robot's contact surface are solved, and more stable contact and reduced vibration are achieved.
Patent Information
- Application Number
- CN202210761403.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-30
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2042-06-30
AI Technical Summary
In the prior art, robots cannot guarantee stable contact of the contact surface, resulting in problems of shaking or vibration with the surface of the object.
By determining the optimization target as the target optimization function with the minimum value based on the weight coefficients of the robot's execution acceleration, acceleration error and acceleration error, the acceleration constraint model is determined based on the robot's action force, mass, execution acceleration and acceleration error; based on the target optimization function and acceleration constraint model, the robot's execution acceleration is determined, and the robot performs tasks by executing acceleration.
It effectively improves the stability of the contact between the robot and the contact surface and reduces the jitter or vibration between the robot and the surface of the object.
Smart Images

Figure CN115042180B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robots, and in particular to robots and their contact control methods, devices, and storage media. Background Art
[0002] During the process of a robot performing a task, the rigid surface of the robot may come into contact with or collide with other objects in the environment. Due to the excessive rigidity of the rigid surface of the robot, a small distance change will cause a huge vibration of the contact force, which easily leads to problems such as the jitter at the end of the robot or the interruption of contact.
[0003] Traditional force control methods can reduce jitter by adjusting parameters. For example, the control of the end force can be achieved by using a second-order mass-damping model. However, when performing force control on a rigid surface, due to the vibration of the contact force, the robot cannot ensure stable contact on the contact surface, and there is still jitter or vibration between the robot and the object surface. Summary of the Invention
[0004] In view of this, embodiments of the present application provide a robot and its contact control method, device, and storage medium to solve the problem in the prior art that the robot cannot ensure stable contact on the contact surface, which is not conducive to further reducing the jitter or vibration existing between the robot and the object surface.
[0005] The first aspect of the embodiments of the present application provides a contact control method for a robot, and the method includes:
[0006] Determine a target optimization function with the optimization target of taking the minimum value according to the execution acceleration of the robot, the acceleration error, and the weight coefficient of the acceleration error;
[0007] Determine an acceleration constraint model according to the acting force of the robot, the mass of the robot, the execution acceleration, and the acceleration error;
[0008] Determine the execution acceleration of the robot according to the target optimization function and the acceleration constraint model;
[0009] Control the robot to perform a task according to the execution acceleration.
[0010] Combined with the first aspect, in the first possible implementation manner of the first aspect, determining a target optimization function with the optimization target of taking the minimum value according to the execution acceleration of the robot, the acceleration error, and the weight coefficient of the acceleration error includes:
[0011] Determine the sum of the squares of the execution accelerations of the robot in each degree of freedom;
[0012] Determine the acceleration error according to the difference between the execution acceleration of the robot in each degree of freedom and the expected acceleration of the corresponding degree of freedom;
[0013] Determine the target optimization function during the robot's contact control according to the sum of the squares of the execution accelerations of each degree of freedom, the sum of the squares of the acceleration errors of each degree of freedom, and the weight coefficient of the acceleration error.
[0014] Combined with the first possible implementation manner of the first aspect, in the second possible implementation manner of the first aspect, the weight coefficient is determined according to the stability requirement of the task executed by the robot and / or the force accuracy requirement of the task executed by the robot.
[0015] Combined with the second possible implementation manner of the first aspect, in the third possible implementation manner of the first aspect, the weight coefficient is determined according to the stability requirement of the task executed by the robot and / or the force accuracy requirement of the task executed by the robot, including:
[0016] When the stability requirement of the task executed by the robot is higher, or the force accuracy requirement is lower, the weight coefficient is reduced;
[0017] When the stability requirement of the task executed by the robot is lower, or the force accuracy requirement is higher, the weight coefficient is increased.
[0018] Combined with the first aspect, in the fourth possible implementation manner of the first aspect, determine the acceleration constraint model according to the force of the robot, the mass of the robot, the execution acceleration, and the acceleration error, including:
[0019] Determine the first expected acceleration according to the sum of the execution acceleration and the acceleration error;
[0020] Determine the second expected acceleration of the robot according to the force on the robot and the mass of the robot;
[0021] Determine the acceleration constraint model according to the equality of the first expected acceleration and the second expected acceleration.
[0022] Combined with the fourth possible implementation manner of the first aspect, in the fifth possible implementation manner of the first aspect, determine the second expected acceleration of the robot according to the force on the robot and the mass of the robot, including:
[0023] Obtain the damping coefficient of the robot and the moving speed of the robot, and determine the resistance of the robot's movement according to the damping coefficient and the moving speed;
[0024] Determine the force on the robot according to the force of the robot and the resistance, and determine the expected acceleration according to the ratio of the force to the mass of the robot.
[0025] In combination with the first aspect, in the sixth possible implementation manner of the first aspect, the acceleration constraint model further includes a constraint condition for the execution acceleration range of the robot.
[0026] A second aspect of the embodiments of the present application provides a contact control device for a robot, characterized in that the device includes:
[0027] A target optimization function determination unit, configured to determine a target optimization function with the optimization target being the minimum value according to the execution acceleration of the robot, the acceleration error, and the weight coefficient of the acceleration error;
[0028] An acceleration constraint model determination unit, configured to determine an acceleration constraint model according to the acting force of the robot, the mass of the robot, the execution acceleration, and the acceleration error;
[0029] An execution acceleration determination unit, configured to determine the execution acceleration of the robot according to the target optimization function and the acceleration constraint model;
[0030] An acting force determination unit, configured to control the robot to execute tasks according to the execution acceleration.
[0031] A third aspect of the embodiments of the present application provides a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the method according to any one of the first aspect are implemented.
[0032] A fourth aspect of the embodiments of the present application provides a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the steps of the method according to any one of the first aspect are implemented.
[0033] The beneficial effects of the embodiments of the present application compared with the prior art are as follows: The embodiments of the present application determine the target optimization function according to the execution acceleration of the robot, the acceleration error, and the weight coefficient of the acceleration error, determine the expected acceleration according to the mass and acting force of the robot, determine the acceleration constraint model according to the expected acceleration, the execution acceleration, and the acceleration error, determine the execution acceleration of the robot movement based on the acceleration constraint model and the target optimization function, and determine the acting force of the robot based on the execution acceleration, so that while the robot can meet the constraint conditions, the acceleration of the robot is minimized as much as possible, thereby effectively improving the stability of the contact between the robot and the contact surface, and further reducing the jitter or vibration existing between the robot and the object surface. Description of the Drawings
[0034] To more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the accompanying drawings required for use in the embodiments or the description of the prior art. Obviously, the accompanying drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can be obtained based on these drawings.
[0035] Figure 1 It is a schematic flowchart of the implementation of a contact control method for a robot provided by an embodiment of the present application;
[0036] Figure 2 It is a schematic diagram of a contact control device for a robot provided by an embodiment of the present application;
[0037] Figure 3 It is a schematic diagram of a robot provided by an embodiment of the present application. Detailed implementation manners
[0038] In the following description, for the purpose of illustration rather than limitation, specific details such as specific system structures and technologies are presented to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid unnecessary details from interfering with the description of the present application.
[0039] To illustrate the technical solutions described in the present application, the following will be described through specific embodiments.
[0040] During the process of a robot performing tasks, due to the requirements of the working scenarios required by the work tasks, it is necessary to effectively ensure the stable contact between the robot and the contact surface, and minimize the vibration or jitter between the robot and the object contact surface as much as possible. For example, during the automatic glass cleaning process of a window cleaning robot, in order to improve the cleaning effect, it is necessary to ensure that the cleaning surface of the robot is in close contact with the glass and reduce contact interruptions. Also, in order to avoid damaging the cleaning object such as glass, it is necessary to reduce the vibration or jitter of the robot.
[0041] To solve the above problems, currently, a force control method based on a force sensor is usually adopted, and the control of the end force is achieved by using a second-order mass-damping model. In this way, when performing force control on a rigid surface, due to the vibration of the contact force, there will still be a jitter problem.
[0042] Based on this, an embodiment of the present application proposes a contact control method for a robot, as Figure 1 shown, this method includes:
[0043] In S101, based on the execution acceleration of the robot, the acceleration error, and the weight coefficient of the acceleration error, a target optimization function with the minimum value is determined as the optimization objective.
[0044] The execution acceleration of the robot in the embodiments of the present application can set the acceleration of the robot in each degree of freedom according to the degrees of freedom of the robot's movement. For example, for a cleaning robot, the degrees of freedom of the robot's movement include four degrees of freedom parallel to the contact surface of the robot and two degrees of freedom perpendicular to the contact surface of the robot (i.e., the vibration direction when vibrating), and a total of six degrees of freedom can be included. It is not limited to six degrees of freedom. Depending on the different tasks performed by the robot or the different types of robots, the number of degrees of freedom of the robot's acceleration may also be different. For example, an industrial robot may include a larger or smaller number of degrees of freedom.
[0045] The acceleration error is the difference between the execution acceleration of the robot and the desired acceleration. The desired acceleration is the acceleration that meets the stability requirements and contact requirements of the robot's movement. According to the degrees of freedom of the robot's movement, it can include degrees of freedom with the same dimension as the robot's acceleration. Based on the difference between the desired acceleration and the robot's acceleration in each degree of freedom, the acceleration error of the robot in each degree of freedom can be determined.
[0046] The weight coefficient of the acceleration error is used to adjust the weight of the acceleration error.
[0047] When the target optimization function is the sum value composed of the sum of the squares of the execution accelerations in each degree of freedom and the sum of the squares of the acceleration errors in each degree of freedom, the weight coefficient of the acceleration error is used to adjust the weight coefficient of the sum of the squares of the acceleration errors in each degree of freedom.
[0048] The target optimization function can be expressed as: Among them, represents the target optimization function, represents the execution acceleration in the i-th degree of freedom, ω represents the weight coefficient of the acceleration error, w i represents the acceleration error in the i-th degree of freedom, and n represents the total number of degrees of freedom, which can be 6 for example.
[0049] The weight coefficient can be determined according to the stability requirements of the task performed by the robot, or the force accuracy requirements of the task performed by the robot, or the stability requirements and force accuracy requirements of the task performed by the robot.
[0050] Among them, the value range of the weight coefficient of the acceleration error is [0, 1]. The larger the value of the weight coefficient, the greater the influence of the acceleration error on the target optimization function. Under the optimization condition of minimizing the target optimization function, if the weight coefficient decreases, the allowable acceleration error can increase, that is, the control accuracy of the robot's acting force decreases, and the acting force of the robot may change significantly. Moreover, as the weight coefficient decreases, the acceleration of the robot decreases, which can effectively improve the stability of the robot. On the contrary, if the weight coefficient increases, the accuracy requirement of the robot's control force increases, the acceleration of the robot increases, the stability of the robot decreases, and the accuracy of the robot's control force increases.
[0051] Therefore, the weight coefficient corresponding to the application scenario can be determined according to the requirements for the control force and the stability requirements in the specific application scenario. For example, for a window cleaning robot, a larger change in the control force can be tolerated, but the tolerance for the robot's jitter is smaller, and a smaller weight coefficient can be selected.
[0052] In a possible implementation manner, the weight coefficient can be determined according to the statistical data in the scenario to determine the optimal weight coefficient of the acceleration error corresponding to the implementation scenario.
[0053] For a new application scenario, when determining the weight coefficient corresponding to the scenario, it can be determined according to the stability requirements of the application scenario and the accuracy requirements of the control force. That is, when the stability requirement of the task executed by the robot is higher, or the acting force accuracy requirement is lower, the weight coefficient is reduced; when the stability requirement of the task executed by the robot is lower, or the acting force accuracy requirement is higher, the weight coefficient is increased.
[0054] In S102, an acceleration constraint model is determined according to the acting force of the robot, the mass of the robot, the execution acceleration, and the acceleration error.
[0055] In the embodiment of the present application, the execution acceleration is the acceleration executed by the robot at the current time. The acceleration error is the difference between the desired acceleration and the execution acceleration, and the desired acceleration can be the acceleration of the robot that is desired to be controlled during the operation of the robot.
[0056] When determining the acceleration constraint model, a first desired acceleration can be determined according to the execution acceleration and the acceleration error of the robot. Among them, the execution acceleration of the robot can determine the magnitude of the acting force of the robot at the current time. The acceleration error of the robot can be determined according to the error of the acting force driving the robot. That is: the greater the error of the acting force of the robot, the greater the acceleration error generated by the robot during movement.
[0057] Among them, the execution acceleration and acceleration error can determine the execution acceleration of each degree of freedom and the acceleration error of each degree of freedom according to the degrees of freedom of the robot, so as to determine the first expected acceleration of each degree of freedom.
[0058] Based on the magnitude of the force on the robot and combined with the mass of the robot, the second expected acceleration of the robot can be determined. Among them, the force on the robot can include the acting force of the robot and the resistance suffered by the robot during movement. The acting force of the robot is the driving force during the movement of the robot, and the acting force can be provided by power components such as the driving motor of the robot. The resistance suffered by the robot can include frictional force, gravity, etc. According to the degrees of freedom of the robot's movement, the acting force and resistance of each degree of freedom of the robot can be used to determine the force on the robot in each degree of freedom. The force on the robot can be expressed as: Among them, the acting force of the robot is F, the damping coefficient is c, and the robot speed is
[0059] According to the force on the robot in each degree of freedom and combined with the mass of the robot, the second expected acceleration of the robot can be determined, which can be expressed as: Among them, m is the mass of the robot.
[0060] According to the determined first expected acceleration and the second expected acceleration, when the first expected acceleration and the second expected acceleration are equal, the acceleration constraint model can be determined.
[0061] In a possible implementation, due to the performance limitations of the driving device of the robot's acting force, the current speed of the robot is limited, that is, the value range of the execution acceleration of the robot belongs to a preset acceleration range. For example, the acceleration range of the robot can be expressed as: Among them, represents the maximum acceleration allowed for each degree of freedom when the robot is working normally, represents the minimum acceleration allowed for each degree of freedom when the robot is working normally.
[0062] In S103, according to the target optimization function and the acceleration constraint model, the execution acceleration of the robot is determined.
[0063] After determining the target optimization function of the robot, the target optimization function can be optimized according to the optimization goal of the robot, that is, the optimization goal of minimizing the target optimization function. In the embodiments of the present application, the sum of the execution acceleration and the acceleration error is the expected acceleration. Under any determined acting force control, the expected acceleration of the robot is a fixed value. When the target optimization function is minimized, the corresponding optimal execution acceleration can be determined.
[0064] Among them, the determined optimal execution acceleration may include the execution accelerations of each degree of freedom.
[0065] According to the above-mentioned objective optimization function, the value of the optimal execution acceleration can be adjusted by adjusting the weight coefficient of the acceleration error. That is, on the premise that the sum value of the acceleration error and the execution acceleration is a fixed value, when the weight coefficient of the acceleration error decreases, the acceleration error can be increased and the execution acceleration can be decreased to minimize the objective optimization function.
[0066] When the weight coefficient of the acceleration error in the objective optimization function decreases, the acceleration of the robot during operation can be reduced, that is, the jitter or vibration of the robot is smaller. And the acceleration error of the robot becomes larger, that is, the requirement for the control accuracy of the force for controlling the movement of the robot becomes smaller. For application scenarios with high requirements for reducing jitter, the weight coefficient can be reduced to a certain extent so that the jitter of the robot is reduced to meet the requirements for safe task execution. When the weight coefficient of the acceleration error in the objective function increases, the acceleration of the robot during operation will increase, resulting in an increase in the vibration intensity of the robot and an increase in the accuracy requirement for the force of the robot.
[0067] It can be understood that before determining the execution acceleration, the objective optimization function or the acceleration constraint model can be determined first, and this application does not make any limitations on this.
[0068] In S104, control the robot to execute tasks according to the execution acceleration.
[0069] When the optimal execution acceleration during the operation of the robot is determined, the forces of the robot in each degree of freedom can be determined according to the execution acceleration and the corresponding acceleration error. That is, when determining the execution acceleration, the acceleration error of the robot can be correspondingly determined. According to the determined execution acceleration and acceleration error, the first expected acceleration of the robot can be determined according to the acceleration constraint model. According to the determined first expected acceleration, combined with the mass of the robot, the current speed of the robot, and the damping coefficient in the current scenario, the force corresponding to when the second expected acceleration of the robot is the same as the first expected acceleration can be determined. Control the robot to execute tasks based on the determined force, so that the robot meets the requirements for vibration in the application scenario during the task execution process.
[0070] It should be understood that the magnitudes of the sequence numbers of the steps in the above embodiments do not mean the order of execution, and the execution order of each process should be determined according to its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0071] Figure 2Schematic diagram of a contact control device for a robot provided by an embodiment of the present application, as Figure 2 shown. The device includes:
[0072] A target optimization function determination unit 201, configured to determine a target optimization function with a minimum value as the optimization target according to the execution acceleration of the robot, the acceleration error, and the weight coefficient of the acceleration error;
[0073] An acceleration constraint model determination unit 202, configured to determine an acceleration constraint model according to the acting force of the robot, the mass of the robot, the execution acceleration, and the acceleration error;
[0074] An execution acceleration determination unit 203, configured to determine the execution acceleration of the robot according to the target optimization function and the acceleration constraint model;
[0075] An acting force determination unit 204, configured to control the robot to perform a task according to the execution acceleration.
[0076] Figure 2 The shown contact control device of the robot corresponds to Figure 1 the shown contact control method of the robot.
[0077] Figure 3 is a schematic diagram of a robot provided by an embodiment of the present application. As Figure 3 shown, the robot 3 of this embodiment includes: a processor 30, a memory 31, and a computer program 32 stored in the memory 31 and executable on the processor 30, such as a contact control program for the robot. When the processor 30 executes the computer program 32, the steps in the above-mentioned embodiments of the contact control method for each robot are implemented. Alternatively, when the processor 30 executes the computer program 32, the functions of each module / unit in the above-mentioned device embodiments are implemented.
[0078] Exemplarily, the computer program 32 can be divided into one or more modules / units. The one or more modules / units are stored in the memory 31 and executed by the processor 30 to complete the present application. The one or more modules / units can be a series of computer program instruction segments capable of performing specific functions, and these instruction segments are used to describe the execution process of the computer program 32 in the robot 3.
[0079] The robot may include, but is not limited to, a processor 30 and a memory 31. Those skilled in the art can understand that Figure 3This is only an example of the robot 3, which does not constitute a limitation on the robot 3. It may include more or fewer components than shown in the figure, or combine certain components, or different components. For example, the robot may also include input / output devices, network access devices, buses, etc.
[0080] The so-called processor 30 may be a central processing unit (CPU), or may also be 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 may be a microprocessor or the processor may also be any conventional processor, etc.
[0081] The memory 31 may be an internal storage unit of the robot 3, such as the hard disk or memory of the robot 3. The memory 31 may also be an external storage device of the robot 3, 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 3. Further, the memory 31 may also include both the internal storage unit and the external storage device of the robot 3. The memory 31 is used to store the computer program and other programs and data required by the robot. The memory 31 may also be used to temporarily store the data that has been output or will be output.
[0082] Those skilled in the art can clearly understand that for the convenience and brevity of description, only the above division of each functional unit and module is used as an example. In actual applications, the above functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment may be integrated into a processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. The above integrated unit may be implemented in the form of hardware or in the form of a software functional unit. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of this application. The specific working processes of the units and modules in the above system can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated here.
[0083] In the above embodiments, the descriptions of the respective embodiments have their own emphases. For parts not detailed or recorded in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.
[0084] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.
[0085] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the modules or units is only a logical function division, and there may be other division methods in actual implementation. For example, 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 displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces, and the indirect couplings or communication connections of devices or units can be in electrical, mechanical or other forms.
[0086] 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 can be located in one place, or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0087] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.
[0088] When 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 such an understanding, to implement all or part of the processes in the above-described embodiment methods of this application, it can also be completed by hardware related to computer program instructions. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps of the above-described various method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file, or some intermediate form, etc. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disc, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium, etc. It should be noted that the content included in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice within the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.
[0089] The above-described embodiments are only used to illustrate the technical solutions of this application, rather than to limit them; although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the various embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A contact control method for a robot, characterized in that, The method includes: Determining a target optimization function with the optimization objective of minimizing, based on the execution acceleration of the robot, the acceleration error, and the weight coefficient of the acceleration error, including: determining the sum of squares of the execution accelerations of the robot in each degree of freedom; determining the acceleration error according to the difference between the execution acceleration of the robot in each degree of freedom and the desired acceleration of the corresponding degree of freedom; determining the target optimization function during the contact control of the robot according to the sum of squares of the execution accelerations in each degree of freedom, the sum of squares of the acceleration errors in each degree of freedom, and the weight coefficient of the acceleration error, where the weight coefficient is determined according to the stability requirement of the task executed by the robot, and / or the force accuracy requirement of the task executed by the robot; Determining an acceleration constraint model based on the force of the robot, the mass of the robot, the execution acceleration, and the acceleration error, including: determining a first desired acceleration according to the sum of the execution acceleration and the acceleration error; determining a second desired acceleration of the robot according to the force on the robot and the mass of the robot; determining the acceleration constraint model according to the equality of the first desired acceleration and the second desired acceleration; Determining the execution acceleration of the robot according to the target optimization function and the acceleration constraint model; Controlling the robot to execute a task according to the execution acceleration.
2. The method according to claim 1, characterized in that, The weight coefficient is determined according to the stability requirement of the task executed by the robot, and / or the force accuracy requirement of the task executed by the robot, including: When the stability requirement of the task executed by the robot is higher, or the force accuracy requirement is lower, reducing the weight coefficient; When the stability requirement of the task executed by the robot is lower, or the force accuracy requirement is higher, increasing the weight coefficient.
3. The method according to claim 1, characterized in that, Determining the second desired acceleration of the robot according to the force on the robot and the mass of the robot, including: Obtaining the damping coefficient of the robot and the moving speed of the robot, and determining the resistance of the robot's movement according to the damping coefficient and the moving speed; Determining the force on the robot according to the force of the robot and the resistance, and determining the desired acceleration according to the ratio of the force to the mass of the robot.
4. The method according to claim 1, characterized in that, The acceleration constraint model further includes a constraint condition for the range of the execution acceleration of the robot.
5. A contact control device for a robot, characterized in that, The device includes: A target optimization function determination unit, configured to determine a target optimization function with the optimization objective of minimizing, based on the execution acceleration of the robot, the acceleration error, and the weight coefficient of the acceleration error, including: determining the sum of squares of the execution accelerations of the robot in each degree of freedom; determining the acceleration error according to the difference between the execution acceleration of the robot in each degree of freedom and the desired acceleration of the corresponding degree of freedom; determining the target optimization function during the contact control of the robot according to the sum of squares of the execution accelerations in each degree of freedom, the sum of squares of the acceleration errors in each degree of freedom, and the weight coefficient of the acceleration error, where the weight coefficient is determined according to the stability requirement of the task executed by the robot, and / or the force accuracy requirement of the task executed by the robot; An acceleration constraint model determination unit, configured to determine an acceleration constraint model according to the acting force of the robot, the mass of the robot, the execution acceleration, and the acceleration error, including: determining a first expected acceleration according to the sum of the execution acceleration and the acceleration error; determining a second expected acceleration of the robot according to the force on the robot and the mass of the robot; determining the acceleration constraint model according to the equality of the first expected acceleration and the second expected acceleration; An execution acceleration determination unit, configured to determine the execution acceleration of the robot according to the target optimization function and the acceleration constraint model; An acting force determination unit, configured to control the robot to execute a task according to the execution acceleration.
6. A robot, 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, the steps of the method according to any one of claims 1 to 4 are implemented.
7. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 4 are implemented.
Citation Information
Patent Citations
Articulated robot, articulation harmonization control device and method
JP2013215827A
A system for real-world continuous motion optimization and control
WO2017129200A1