Robotic arm, robot arm control method and system

By introducing a torque controller, a speed deviation controller and a disturbance compensator into the robot arm, combined with a filter and an error compensation device, the problem of unsmooth movement of the robot arm when the user is dragged manually is solved, and the user experience is improved.

CN113664869BActive Publication Date: 2025-08-29NINGBO RUIDA MEDICAL INSTR CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202111154320.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-29
Publication Date
2025-08-29
Estimated Expiration
2041-09-29

AI Technical Summary

Technical Problem

The existing robotic arms are not moving lightly, smoothly and smoothly enough when the user drags manually, resulting in poor user experience.

Method used

The torque controller, speed deviation controller and disturbance compensator are used to detect the kinematic parameters of the joint and the current is feedback to control the movement of the motor terminal. Combined with the filter and error compensation device, the control accuracy and stability are improved.

Benefits of technology

It realizes the brisk, smooth and smooth movement of the robotic arm when the user drags manually, improving the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113664869B_ABST
    Figure CN113664869B_ABST
Patent Text Reader

Abstract

An embodiment of this specification discloses a method for controlling a robotic arm, wherein the robotic arm includes a joint and a torque controller, a speed deviation controller and a disturbance compensator communicated with the joint, and the joint includes a motor end and a load end drive-connected to the motor end; the method for controlling the robotic arm includes: determining a first control current output by the torque controller; determining a second control current output by the speed deviation controller; determining a third control current output by the disturbance compensator; and determining an input current at the motor end based on the first control current, the second control current and the third control current.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of robotics, and in particular to a robotic arm, a robotic arm control method, and a robotic arm control system. Background Art

[0002] With the popularization of automated equipment, robotic arms are widely used in fields such as industry and medicine. In some cases, in order to better achieve human-computer interaction, users are required to manually drag the robotic arm.

[0003] Therefore, it is necessary to provide a robotic arm control method so that when the user drags the robotic arm, the robotic arm moves more lightly, steadily and smoothly, thereby improving the dragging feel of the robotic arm and enhancing the user experience. Summary of the Invention

[0004] One of the embodiments of this specification provides a method for controlling a robotic arm, wherein the robotic arm includes a joint and a torque controller, a speed deviation controller and a disturbance compensator communicated with the joint, and the joint includes a motor end and a load end drive-connected to the motor end; the robotic arm control method includes: determining a first control current output by the torque controller; determining a second control current output by the speed deviation controller; determining a third control current output by the disturbance compensator; and determining an input current of the motor end based on the first control current, the second control current and the third control current.

[0005] One of the embodiments of this specification provides a robotic arm control system, wherein the robotic arm includes a joint and a torque controller, a speed deviation controller and a disturbance compensator communicated with the joint, and the joint includes a motor end and a load end drive-connected to the motor end; the robotic arm control system includes: a first determination module, the first determination module is used to determine a first control current output by the torque controller; a second determination module, the second determination module is used to determine a second control current output by the speed deviation controller; a third determination module, the third determination module is used to determine a third control current output by the disturbance compensator; and a fourth determination module, the fourth determination module is used to determine the input current of the motor end based on the first control current, the second control current and the third control current.

[0006] One of the embodiments of this specification provides a robotic arm, which includes a joint, wherein the joint includes a motor end and a load end driven by the motor end; a torque controller, which is communicatively connected to the motor end and the load end, and is used to determine a first control current based on an input desired torque value and an actual torque value of the load end, and to feed the first control current back to the motor end; a speed deviation controller, which is communicatively connected to the motor end and the load end, and is used to determine a second control current based on an angular velocity of the motor end and an angular velocity of the load end, and to feed the second control current back to the motor end; a disturbance compensator, which is communicatively connected to the motor end and the load end, and is used to determine a third control current based on the angular velocity of the motor end, the actual torque value of the load end, and the input current of the motor end at a current moment, and to feed the third control current back to the motor end; the motor end drives the load end to move based on the first control current, the second control current, and the third control current. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] This specification will be further described in the form of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are not limiting, and in these embodiments, like numbers represent like structures, wherein:

[0008] Figure 1 is a schematic diagram of an application scenario of a robotic arm motion control system according to some embodiments of this specification;

[0009] Figure 2 is a simplified structural diagram of a robotic arm according to some embodiments of this specification;

[0010] Figure 3 is a schematic diagram of a robotic arm control process according to some embodiments of this specification;

[0011] Figure 4 is a schematic diagram of the working principle of a robotic arm according to some embodiments of this specification;

[0012] Figure 5 is a schematic diagram of the working principle of a torque controller according to some embodiments of this specification;

[0013] Figure 6 is a schematic diagram of the working principle of a speed deviation controller according to some embodiments of this specification;

[0014] Figure 7 is a schematic diagram of the working principle of a disturbance compensator according to some embodiments of this specification;

[0015] Figure 8 is an exemplary module diagram of a robotic arm motion control system according to some embodiments of this specification. DETAILED DESCRIPTION

[0016] To more clearly illustrate the technical solutions of the embodiments of this specification, the following briefly describes the drawings required for describing the embodiments. Obviously, the drawings described below are merely examples or embodiments of this specification. Those skilled in the art can apply this specification to other similar scenarios based on these drawings without inventive effort. Unless otherwise apparent from the context or otherwise noted, the same reference numerals in the figures represent the same structure or operation.

[0017] It should be understood that the terms "system," "device," and / or "module" used herein are a method for distinguishing different components, elements, parts, portions, or assemblies at different levels. However, other terms may be used to replace the terms if they achieve the same purpose.

[0018] As used in this specification and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not refer to the singular but also include the plural. Generally speaking, the terms "comprises" and "include" only indicate the inclusion of the steps and elements specifically identified, and these steps and elements do not constitute an exclusive list. A method or apparatus may also include other steps or elements.

[0019] Flowcharts are used throughout this specification to illustrate the operations performed by systems according to embodiments of this specification. It should be understood that preceding or following operations do not necessarily need to be performed in exact order. Instead, the steps may be processed in reverse order or simultaneously. Furthermore, other operations may be added to these processes, or one or more operations may be removed from these processes.

[0020] Some embodiments of this specification provide a robotic arm and a robotic arm control method. The robotic arm includes a joint, multiple controllers communicatively connected to the joint, and multiple sensors disposed on the joint. The joint includes a motor end and a load end. In some embodiments, the robotic arm provided herein can utilize sensors to detect kinematic parameters (e.g., torque, angular velocity, etc.) during joint motion and feed the kinematic parameters back to a controller. The controller can combine the kinematic parameters with other parameters to output a control current and feed it back to the motor at the motor end, causing the motor to output a corresponding torque. In some embodiments, the controller described herein can include a torque controller, a velocity deviation controller, and a disturbance compensator. The torque output by the motor is controlled by the torque controller, and the output control variable of the torque controller (e.g., control current) is corrected by the velocity deviation controller and the disturbance compensator to improve the control accuracy of the robotic arm. In some embodiments, the multiple sensors can include angular velocity sensors for detecting the angular velocity of the motor end and the load end (e.g., a first encoder for detecting the angular velocity of the load end and a second encoder for detecting the angular velocity of the motor end). The angular velocity can be fed back to the velocity deviation controller, which can combine the angular velocity and other parameters to generate a corresponding control current. In some embodiments, the multiple sensors may further include a torque sensor for detecting the actual torque value at the load end. The actual torque value may be fed back to the torque controller and the disturbance compensator, and the two may respectively determine the control current output by each of them in combination with the actual torque value and other parameters. In some cases, the present specification directly measures the motion parameters of the joint through the above-mentioned multiple sensors, and the results are more accurate. In some cases, the present specification also uses multiple controllers to determine the control current error based on these measured motion parameters, which has a better control effect.

[0021] Figure 1 This is a schematic diagram of an application scenario of a robotic arm control system according to some embodiments of this specification. Figure 1 As shown, in some embodiments, a robotic arm control system 100 may include a robotic arm 110, a network 120, at least one terminal 130, a processing device 140, and a storage device 150. Multiple components in the system 100 may be interconnected via the network 120. For example, the processing device 140 and the robotic arm 110 may be connected or communicated via the network 120.

[0022] Figure 2 is a simplified structural diagram of a robotic arm according to some embodiments of this specification; Figure 3 This is a schematic diagram of the robotic arm control process according to some embodiments of this specification. Figure 2 and Figure 3As shown, in some embodiments, a robotic arm 110 may include a joint 111, a torque controller 116, a velocity deviation controller 117, and a disturbance compensator 118 that are communicatively connected to the joint 111, as well as a torque sensor 114 and an angular velocity sensor 115 disposed on the joint 111. The joint 111 may include a motor end 112 and a load end 113 that is drive-connected to the motor end 112. The motor end 112 may refer to the end of a joint 111 where the motor is located. The load end 113 refers to the end of a joint 111 that bears the load. In some embodiments, the motor may be communicatively connected to the torque controller 116, the velocity deviation controller 117, and the disturbance compensator 118. The motor may receive control current associated with the torque value fed back by the torque controller 116, the velocity deviation controller 117, and the disturbance compensator 118 and output a torque of corresponding magnitude to drive the motor end 112 and the load end 113 to move.

[0023] In some embodiments, a transmission device (e.g., a reducer 1101) is provided between the motor end 112 and the load end 113. When the motor outputs torque, it not only drives the motor end 112 to move, but also transmits the torque to the load end 113 through the transmission device, thereby driving the load end 113 to move. In some embodiments, since the load end 113 of the robotic arm 110 generally requires a large torque, the transmission device may be a reducer 1101. In some cases, when the output power of the motor is the same, the reducer can reduce the speed, thereby increasing the torque transmitted to the load end 113. In some embodiments, the transmission device may include, but is not limited to, a harmonic reducer, a reducer based on the cycloid planetary principle, and a multi-stage precision gear reducer. In this embodiment, the transmission device may be a harmonic reducer.

[0024] In some embodiments, the torque sensor 114 is provided at the load end 113 of the joint 111. The torque sensor 114 can detect the actual torque value of the load end 113. The actual torque value may refer to the torque acting on the load end 113. Exemplarily, the torque sensor 114 can detect the physical change of the torque acting on the load end 113 and generate an electrical signal associated therewith. The associated electrical signal may refer to a mapping relationship between the electrical signal and the physical change of the torque. If any one of the two data is determined, the other data can be determined based on the mapping relationship. In this embodiment, the electrical signal may be a voltage signal, and the voltage range of the voltage signal may be between -2.5V and +2.5V. The voltage range is related to the model of the torque sensor 114. In some alternative embodiments, when other types of torque sensors 114 are selected, the voltage range of the voltage signal may also be between 0 and 10V, or between -10V and 10V. In some embodiments, the type of torque sensor 114 may include but is not limited to non-contact torque sensors (eg, strain gauge, magnetoelectric, fiber optic, and photoelectric sensors), wireless torque sensors, electronic torque sensors, and the like.

[0025] In some embodiments, the robotic arm 110 may further include a first filter 1191, which may be in communication with the torque sensor 114, the disturbance compensator 118, and the torque controller 116. The first filter 1191 may be configured to filter the voltage signal based on a first preset frequency range, convert the filtered voltage signal into a torque value, and then feed the torque value back to the disturbance compensator 118 and the torque controller 116.

[0026] In some cases, the voltage signal generated by the torque sensor 114 includes not only the voltage signal associated with the actual torque value at the load end 113 but also noise signals. The first filter 1191 can filter the voltage signal to remove the noise signals, making the torque value obtained after conversion more accurate.

[0027] In some embodiments, the voltage signal within the first preset frequency range is a voltage signal associated with the actual torque value of the load terminal 113, while the voltage signal outside the first frequency range can be called a noise signal. Therefore, in order to retain the voltage signal within the first preset frequency range, the first filter 1191 can be a low-pass filter. The value of the first preset frequency range can be determined based on the frequency domain analysis of the voltage signal. For more details on the filtering of the voltage signal by the first filter and the value of the first preset frequency range, please refer to Figure 4 4. Description of step 410 in FIG.

[0028] In some embodiments, the manipulator 110 may further include an error compensation device, which may be in communication with the first filter 1191, the disturbance compensator 118, and the torque controller 116. The error compensation device may be used to perform zero drift compensation and gravity compensation on the torque value before converting the filtered voltage signal into a torque value and feeding it back to the torque controller 116 and the disturbance compensator 118, thereby ensuring the accuracy of the obtained torque value. For more details on zero drift compensation and gravity compensation for torque values, please refer to Figure 4 Description of step 410.

[0029] In some embodiments, the angular velocity sensor 115 can be used to detect the angular velocity of the motor end 112 and the load end 113. In the embodiments of this specification, the angular velocity sensor 115 can be an encoder. In some embodiments, the angular velocity sensor 115 can include a first encoder 1151 and a second encoder 1152, respectively disposed at the load end 113 and the motor end 112. The first encoder 1151 and the second encoder 1152 are respectively configured to detect the angular velocity of the load end 113 and the motor end 112 and generate corresponding sensing signals. For example, using the first encoder 1151 detecting the angular velocity of the load end 113 as an example, the first encoder 1151 can obtain a first angle at the beginning of a sampling time and a second angle at the end of a sampling time. Based on the first and second angles and the sampling time, the angular velocity can be determined. Furthermore, the first encoder 1151 can generate a first velocity signal associated with the angular velocity and feed the velocity signal back to a controller (e.g., the disturbance compensator 118 and the velocity deviation controller 117) to which it is in communication. In some embodiments, the first velocity signal is a signal that reflects the velocity of an object. The velocity signal can be either an analog signal or a digital signal. Similarly, the second encoder 1152 can also use the same method to determine the angular velocity of the motor end 112, generate a second velocity signal, and feed it back to a controller (e.g., velocity deviation controller 117) in communication with the second encoder. In some alternative embodiments, the angular velocities of the motor end 112 and the load end 113 can be determined using other sensors, including but not limited to gyroscopes, Hall sensors, angle sensing synchronizers, etc.

[0030] In some embodiments, a second filter 1192 is connected in communication between the first encoder 1151 and the disturbance compensator 118. A third filter 1193 is connected in communication between the second encoder 1152, the disturbance compensator 118, and the speed deviation controller 117. In some embodiments, due to noise interference introduced by other factors such as electrical or ambient factors, noise signals are still present in the speed signals generated by the first encoder 1151 and the second encoder 1152. In order to obtain true speed information, the noise signals in the speed signals need to be removed. In some embodiments, the second filter 1192 and the third filter 1193 can be used to filter the first speed signal and the second speed signal to remove noise in the speed signals, so that the control current output by the controller is more accurate, thereby improving the control accuracy of the robotic arm 110.

[0031] In some embodiments, the second filter 1192 can be configured to filter the first velocity signal based on a second preset frequency range before feeding the first velocity signal back to the velocity deviation controller 117, and to feed the filtered first velocity signal back to the velocity deviation controller 117. The third filter 1193 can be configured to filter the second velocity signal based on a second preset frequency range before feeding the second velocity signal back to the disturbance compensator 118 and the velocity deviation controller 117, and to feed the filtered second velocity signal back to the disturbance compensator 118 and the velocity deviation controller 117. For example, using the second filter 1192 as an example, the second filter 1192 can retain signal components within the second preset frequency range (i.e., allow them to pass through the second filter 1192 and be fed back to the corresponding controller), while removing signal components outside the second preset frequency range. The second preset frequency range can be determined by analyzing the frequency components of the velocity signal. For example, the noise signal in the velocity signal is high frequency (e.g., a signal frequency greater than 800 Hz), while the velocity signal is low frequency (e.g., a signal frequency less than 800 Hz). In some embodiments, the second preset frequency may have a value range of 100 Hz to 1000 Hz. In some embodiments, the second preset frequency may have a value range of 200 Hz to 900 Hz. In some embodiments, the second preset frequency may have a value range of 300 Hz to 800 Hz. In some embodiments, the second filter 1192 and the third filter 1193 may be the same as or similar to the first filter 1191. Examples are not repeated here.

[0032] In some embodiments, the torque controller 116 can control the torque output by the motor. For example, the torque controller 116 can be in communication with the motor and control the motor's output torque by sending a control current to the motor. In some embodiments, the torque controller 116 can output a first control current based on an actual torque value at the load terminal 113 and a desired torque value input to the torque controller 116.

[0033] In some embodiments, in addition to directly obtaining the actual torque value of the load end 113 through the torque sensor 114, the actual torque value of the load end 113 can also be calculated by the working current of the motor, or the actual torque value of the load end 113 can be calculated by a six-dimensional force sensor. The specific measurement process will not be repeated here.

[0034] In some embodiments, the torque controller 116 may use the torque value manually input by the user as the expected torque value. The expected torque value may refer to the torque that the motor is expected to output. Exemplarily, the user may input the torque that the motor is expected to output through an input device. For example, the user may directly input the torque output by the motor as a fixed value of 1N·m on the torque controller 116, and the torque value may be used as the expected torque value input to the torque controller 116. In some embodiments, the expected torque value may also be determined by other means, for example, by determining it through an expected torque determination model, or for example, directly obtaining it from the storage device 150. For more details on obtaining the expected torque value, see Figure 4 The description of step 410 is not repeated here.

[0035] In some embodiments, the speed deviation controller 117 can be used to control the angular velocity of the motor end 112 and the angular velocity of the load end 113 so that the deviation between them is within a set range. In some embodiments, the speed deviation controller 117 can calculate a correction to the motor input current based on the deviation between the angular velocity of the motor end 112 (after conversion based on the transmission ratio of the transmission device) and the angular velocity of the load end 113, so as to ensure that the deviation between the angular velocity of the motor end 112 and the angular velocity of the load end 113 is within the set range, thereby ensuring smoother movement of the robotic arm 110. In this specification, the correction to the motor input current output by the speed deviation controller 117 may be referred to as the second control current. In some embodiments, the deviation between the angular velocity of the motor end 112 and the angular velocity of the load end 113 can range from -0.030 rad / s to 0.015 rad / s. In some embodiments, the deviation between the angular velocity of the motor end 112 and the angular velocity of the load end 113 can range from -0.025 rad / s to 0.020 rad / s. In some embodiments, the deviation between the angular velocity of the motor end 112 and the angular velocity of the load end 113 may range from -0.023 rad / s to 0.023 rad / s.

[0036] In some embodiments, the disturbance compensator 118 can be used to correct output errors caused by inaccurate motor model parameters (e.g., the motor's moment of inertia, current-torque coefficient, etc.). In some embodiments, the disturbance compensator 118 can be used to calculate a correction to the motor input current based on the control current input to the motor and the motion parameters of the motor terminal 112 and the load terminal 113 (e.g., the angular velocity of the motor terminal 112 and the actual torque value of the load terminal 113). The actual torque value of the load terminal 113 can be determined by the torque sensor 114 described in other embodiments of this specification. The angular velocity of the motor terminal 112 can be obtained by a second encoder 1152 disposed at the motor terminal 112. In some embodiments, the second encoder 1152 can generate a second velocity signal associated with the angular velocity of the motor terminal 112, which can be input to the disturbance compensator 118. In this specification, the correction to the motor input current output by the disturbance compensator 118 can be referred to as the third control current.

[0037] In some embodiments, the motor may receive the first control current, the second control current, and the third control current fed back by the torque controller 116 , the speed deviation controller 117 , and the disturbance compensator 118 , and output corresponding torque based on the above control currents.

[0038] The network 120 may include any suitable network capable of facilitating information and / or data exchange for the robotic arm control system 100. In some embodiments, at least one component of the robotic arm control system 100 (e.g., the robotic arm 110, the processing device 140, the storage device 150, the at least one terminal 130) may exchange information and / or data with at least one other component in the robotic arm control system 100 via the network 120. For example, the processing device 140 may obtain a desired torque value input by a user from the robotic arm 110 via the network 120. The network 120 may include a public network (e.g., the Internet), a private network (e.g., a local area network (LAN)), a wired network, a wireless network (e.g., an 802.11 network, a Wi-Fi network), a frame relay network, a virtual private network (VPN), a satellite network, a telephone network, a router, a hub, a switch, or the like, or any combination thereof. For example, the network 120 may include a wired network, a cable network, a fiber optic network, a telecommunications network, an intranet, a wireless local area network (WLAN), a Bluetooth TM Network, ZigBee TM In some embodiments, the network 120 may include at least one network access point. For example, the network 120 may include a wired and / or wireless network access point (e.g., a base station and / or an Internet exchange point), and at least one component of the robotic arm control system 100 may connect to the network 120 via the access point to exchange data and / or information.

[0039] At least one terminal 130 can communicate and / or connect with the robotic arm 110, the processing device 140, and / or the storage device 150. For example, information about the target position of the robotic arm 110 obtained by the processing device 140 can be stored in the storage device 150. In some embodiments, the at least one terminal 130 can include a mobile device 131, a tablet computer 132, a laptop computer 133, or the like, or any combination thereof. For example, the mobile device 131 can include a mobile control handle, a personal digital assistant (PDA), a smartphone, or the like, or any combination thereof. In some embodiments, the at least one terminal 130 can include a display that can be used to display relevant information about the motion control process, such as motion parameters of the robotic arm 110 (including but not limited to angular velocity, torque values, etc.).

[0040] In some embodiments, at least one terminal 130 may include an input device. The input device may be a keyboard, touchscreen (e.g., with tactile or haptic feedback), voice input, eye tracking, gesture tracking, brain monitoring system input, image input, video input, or any other similar input mechanism. Input information received by the input device may be transmitted to the processing device 140 via a bus, for example, for further processing. Other types of input devices may include cursor control devices, such as a mouse, trackball, or cursor direction keys. In some embodiments, a user may input a desired torque value via the input device. In some embodiments, at least one terminal 130 may include an output device. The output device may include a display, a speaker, a printer, or any combination thereof. The output device may be used to output parameters related to the robotic arm 110 determined by the processing device 140, for example. In some embodiments, at least one terminal 130 may be part of the processing device 140.

[0041] The processing device 140 can process data and / or information obtained from the robotic arm 110, the storage device 150, the at least one terminal 130, or other components of the robotic arm control system 100. For example, the processing device 140 can obtain motion parameters of the robotic arm 110 (e.g., the angular velocity of the load end 113 of the robotic arm 110) from the robotic arm 110. In some embodiments, the processing device 140 can be a single server or a server group. The server group can be centralized or distributed. In some embodiments, the processing device 140 can be local or remote. For example, the processing device 140 can access information and / or data from the robotic arm 110, the storage device 150, and / or the at least one terminal 130 via the network 120. For another example, the processing device 140 can be directly connected to the robotic arm 110, the at least one terminal 130, and / or the storage device 150 to access information and / or data. In some embodiments, the processing device 140 can be implemented on a cloud platform. For example, the cloud platform can include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud cloud, a multi-cloud, or any combination thereof.

[0042] Storage device 150 can store data, instructions, and / or any other information. For example, motion parameters of robotic arm 110, etc. In some embodiments, storage device 150 can store data obtained from robotic arm 110, at least one terminal 130, and / or processing device 140. In some embodiments, storage device 150 can store data and / or instructions used by processing device 140 to execute or complete the exemplary methods described herein. In some embodiments, storage device 150 can include mass storage, removable memory, volatile read-write memory, read-only memory (ROM), etc., or any combination thereof. In some embodiments, storage device 150 can be implemented on a cloud platform.

[0043] In some embodiments, the storage device 150 can be connected to the network 120 to communicate with at least one other component in the robotic arm control system 100 (e.g., the processing device 140, the at least one terminal 130). At least one component in the robotic arm control system 100 can access data stored in the storage device 150 through the network 120. In some embodiments, the storage device 150 can be part of the processing device 140.

[0044] It should be noted that the above description is provided for illustrative purposes only and is not intended to limit the scope of this specification. For those skilled in the art, various changes and modifications can be made under the guidance of the contents of this specification. The features, structures, methods and other features of the exemplary embodiments described in this specification can be combined in various ways to obtain additional and / or alternative exemplary embodiments. For example, the storage device 150 can be a data storage device 150 including a cloud computing platform, such as a public cloud, a private cloud, a community and a hybrid cloud. However, these changes and modifications do not deviate from the scope of this specification.

[0045] Figure 4 It is a schematic diagram of the working principle of the robotic arm shown in some embodiments of this specification. Specifically, the robotic arm control method 400 can be executed by the robotic arm control system 100 (such as the processing device 140). For example, the robotic arm control method 400 can be stored in a storage device (such as the built-in storage unit of the processing device 140 or the storage device 150) in the form of a program or instruction. When the robotic arm control system 100 (such as the processing device 140) executes the program or instruction, the robotic arm control method 400 can be implemented. The operations of the process shown below are for illustrative purposes only. In some embodiments, the process 400 can be completed using one or more additional operations not described and / or one or more operations not shown. In addition, Figure 4 The order in which the operations of method 400 are illustrated and described below is not intended to be limiting.

[0046] In step 410 , the processing device 140 may determine a first control current output by the torque controller. In some embodiments, step 410 may be performed by the first determination module 810 .

[0047] In some embodiments, the torque controller is in communication with the motor at the motor end, and the first control current output by the torque controller can control the motor to output a corresponding torque, thereby driving the load end to move.

[0048] Figure 5 This is a schematic diagram of the working principle of the torque controller according to some embodiments of this specification. Figure 5As shown, in some embodiments, the processing device 140 may determine the first control current output by the torque sensor based on the actual torque value at the load end and the expected torque value input to the torque sensor.

[0049] In some embodiments, the processing device 140 may determine the actual torque value of the load end by acquiring a sensing signal generated by a sensor and associated with the actual torque value of the load end.

[0050] In some embodiments, the processing device 140 can determine the actual torque value at the load end using a torque sensor disposed at the load end. In some embodiments, the torque sensor can sense and detect the torsional torque acting on a mechanical component and convert the physical changes in the torsional torque (e.g., changes in the magnitude or direction of the torque) into precise electrical signals. For example, the torque sensor can convert the physical changes in the torsional torque into a voltage signal, which is correlated with the torque at the load end. In other steps of this specification, the processing device 140 can convert the voltage signal into a corresponding torque and feed the torque back to the torque controller. For example, the processing device 140 can determine a mapping relationship between the voltage signal and the torque value based on the type of torque sensor, and then determine the torque based on the mapping relationship and the voltage signal (e.g., determining the torque based on the proportional relationship between the torque sensor's range and the voltage value output by the torque sensor). In some embodiments, in addition to the torque sensor described in the aforementioned embodiments, the processing device 140 can determine the actual torque value at the load end using other sensors, such as a six-dimensional force sensor.

[0051] In some embodiments, the processing device 140 may determine the actual torque value at the load end by other means. For example, the processing device 140 may determine the actual torque value at the load end based on the current torque coefficient of the motor, the actual operating current, and the friction coefficient of the transmission device (e.g., a harmonic reducer).

[0052] In some embodiments, the voltage signal generated by the torque sensor includes not only a voltage signal associated with the actual torque value at the load end, but may also include signal components unrelated to the actual torque value at the load end. These signal components unrelated to the actual torque value at the load end may be referred to as noise signals. If the voltage signal is not filtered to remove the noise signal, a significant error may exist between the load end torque value determined by the processing device 140 based on the voltage signal and the actual torque value, thereby resulting in a significant error in the first control current output by the torque controller, and ultimately a significant torque deviation in the motor output.

[0053] For the reasons described above, in some embodiments, the processing device 140 can filter the voltage signal generated by the torque sensor using a first filter to reduce noise interference and more accurately determine the actual torque value. In some embodiments, the processing device 140 can use the first filter to filter the voltage signal based on a first preset frequency range before converting the voltage signal into a torque value to remove noise signals. In some embodiments, based on frequency domain analysis of the voltage signal, it can be determined that the noise signal in the voltage signal is typically a high-frequency signal (e.g., a signal frequency greater than 800 Hz), while the voltage signal associated with the actual torque value at the load end is typically a low-frequency signal (e.g., a signal frequency range between 300 Hz and 800 Hz).

[0054] In some embodiments, based on the frequency range of the voltage signal associated with the actual torque value at the load end, a low-pass filter can be selected as the first filter. The low-pass filter can retain the voltage signal within a first preset frequency range, while filtering out signal components outside the first preset frequency range. In some embodiments, the first preset frequency range for filtering the voltage signal by the low-pass filter can include values ​​of 100 Hz-1000 Hz. In some embodiments, the first preset frequency range can include values ​​of 200 Hz-900 Hz. In some embodiments, the first preset frequency range can include values ​​of 300 Hz-800 Hz.

[0055] In some embodiments, the first filter can filter the voltage signal using a variety of algorithms, including but not limited to a first-order filtering algorithm, a Gaussian filtering algorithm, a Butterworth filtering algorithm, a Chebyshev filtering algorithm, a Kalman filtering algorithm, etc. In some embodiments, the first filter can be a first-order low-pass filter, that is, the voltage signal passing through the first filter is filtered once. The input of the first-order low-pass filter , output It can be expressed by a first-order linear equation:

[0056] (1)

[0057] in, For the The input of the first filter at subsamples; For the The output of the first filter at times the sampling time; is the time constant of the first filter 0. In this embodiment, the processing device 140 can use the voltage signal generated by the torque sensor as the input of the current first filter sampling of formula (1), and determine the output of the current first filter sampling, that is, the filtered voltage signal, in combination with the output of the previous first filter sampling.

[0058] In some embodiments, the processing device 140 can convert the voltage signal filtered by the first filter into a torque value and feed it back to the torque controller. In some embodiments, the processing device 140 can determine the actual torque value corresponding to the voltage signal based on a mapping relationship between the voltage signal and the actual torque value. The mapping relationship is determined by the type of torque sensor. When the model of the torque sensor is determined, the processing device 140 can directly obtain the mapping relationship of the torque sensor.

[0059] In some embodiments, due to the effects of gravity and the inherent errors in the torque sensor, the processing device 140 needs to compensate for these errors based on the converted torque value to ensure the accuracy of the torque value. In some embodiments, the compensation process may include zero drift compensation and gravity compensation. Zero drift compensation for the torque sensor refers to correcting the zero point of the torque sensor so that the torque value represented by the torque sensor is zero when the torque sensor is in its initial state. Gravity compensation is to correct the torque value generated by the load end under the action of gravity on the joint, thereby eliminating the influence of gravity.

[0060] In some embodiments, after the zero drift, gravity compensation, and sensitivity of the torque sensor are determined, the processing device 140 can calculate the actual torque value. :

[0061] (2)

[0062] in, is a filtered voltage signal; the processing device 140 converts Convert to the corresponding torque value; is the zero drift of the torque sensor; It is the reciprocal of the sensitivity s of the torque sensor; is the gravity compensation of the torque sensor; is a constant. In this embodiment, is 0.

[0063] In some embodiments, for a specific type of torque sensor, its zero drift is The sensitivity s is a fixed constant and its specific value can be obtained through the torque sensor measurement experiment. The process will not be described in detail here.

[0064] In some embodiments, the processing device 140 may determine the gravity compensation amount based on the kinematic equations of the joint. For example, for a robotic arm system with only one joint (e.g., one motor end and one load end), the gravity compensation amount is = is equal to the gravity of the load end multiplied by the length of the lever arm relative to the joint axis. The gravity of the load end can be determined by measurement. The length of the lever arm of the joint axis refers to the distance from the load end to the motor end. In another example, for a robotic arm system with multiple joints, the processing device 140 can determine the gravity compensation amount based on the following formula: :

[0065] (3)

[0066] in, For the i Gravity compensation for each joint ; For the i The quality of each joint; is the gravity matrix; is the variable matrix of the joint i The derivatives of the joint variables; is the center of mass position matrix of the joint.

[0067] In some embodiments, the processing device 140 may obtain a desired torque value stored in a storage device. The desired torque value stored in the storage device may be a previously used desired torque value. For example, the desired torque value previously determined and input into the torque controller by the processing device 140 may be stored in the storage device. In some embodiments, the processing device 140 may obtain a desired torque value manually input into the terminal by a user. In some embodiments, the user may input a desired torque value based on the desired robotic arm operation mode. Robotic arm operation modes may include passive mode, power-assisted mode, and damping mode. Passive mode means the robotic arm actively moves the arm; damping mode means the user actively moves the arm, while the robotic arm applies a certain force to prevent the movement; and power-assisted mode means the robotic arm, in response to the user's intended movement, applies a certain force to assist the user's arm movement. For example, the user may set the desired torque value to 0, in which case the operation mode is passive. In another example, the user may set the desired torque value to 1 N·m, 2 N·m, 5 N·m, etc., in which case the operation mode is passive or power-assisted.

[0068] In some embodiments, the processing device 140 can determine the expected torque value input to the torque controller based on the expected torque determination model. The processing device 140 can input the actual torque value of the load end into the expected torque determination model. The output of the expected torque determination model may include the expected torque value and the manipulator operation mode. In some embodiments, the expected torque determination model may be a machine learning model. The expected torque determination model may be a trained machine learning model. The machine learning model may include various models and structures, such as a deep neural network model, a recurrent neural network model, a custom model structure, etc., which are not limited in this specification.

[0069] In some embodiments, when training the expected torque determination model, multiple labeled (or identified) actual torque values ​​at the load end can be used as training data. Training can be performed using common methods such as gradient descent to learn the model parameters. In some embodiments, the expected torque determination model can be trained in another device or module.

[0070] In some embodiments, after the actual torque value at the load end and the desired torque value input to the torque controller are determined, the processing device 140 can calculate the first control current output by the torque controller. :

[0071] (4)

[0072] in, is the integral term coefficient of the torque controller, the integral term coefficient of the torque controller It can express the relationship between the control current output by the torque controller and the amount of torque accumulated over time; is the proportional term coefficient of the torque controller, the proportional term coefficient of the torque controller It can express the relationship between the control current and torque value output by the torque controller; is the actual torque value at the load end; is the desired torque value input to the torque controller. In some embodiments, the processing device 140 can obtain the proportional term coefficient of the torque controller through the simulation system. and the integral term coefficient In some embodiments, the desired torque value input to the torque controller is , the actual torque value at the load end as well as are all constants, among which, Can be 0.

[0073] In some embodiments, the processing device 140 may be based on the first control current output by the torque controller at the previous moment, the desired torque value input to the torque controller, And the actual torque value at the load end Determine the first control current The processing device 140 can obtain the first control current output by the torque sensor at the previous moment from the storage device 150 or the memory of the torque controller. In some embodiments, the processing device 140 can determine the expected torque value of the torque controller at the current moment compared to the previous moment. And the actual torque value at the load end Whether a change occurs or whether the change value is within the set threshold range, if there is no change or the change value is within the set threshold range, the processing device 140 can determine the first control current output by the torque controller No change; if the change or the change value exceeds the set threshold range, the processing device 140 can determine the first control current output by the torque controller Change, and determine the first control current according to the steps described in the above embodiment .

[0074] In step 420 , the processing device 140 may determine the second control current output by the speed deviation controller. In some embodiments, step 420 may be performed by the second determination module 820 .

[0075] In some embodiments, the processing device 140 can utilize a speed deviation controller to correct the motor's input current so that the deviation between the angular velocity at the motor end and the angular velocity at the load end is within a set range, thereby making the robotic arm move more smoothly. The set range can be found in other embodiments of this specification and will not be repeated here.

[0076] Figure 6 FIG. 1 is a schematic diagram of the working principle of the speed deviation controller according to some embodiments of this specification. Figure 6 As shown, in some embodiments, the processing device 140 can determine the angular velocity of the motor end and the angular velocity of the load end, and determine the second control current based on the transmission ratio of the transmission device and the angular velocity of the motor end and the angular velocity of the load end.

[0077] In some embodiments, the motor end and the load end are connected by a transmission device. In some embodiments, the transmission ratio of the harmonic reducer is an inherent property, so the processing device 140 can directly obtain the transmission ratio of the harmonic reducer based on the kinematic parameters of the harmonic reducer.

[0078] In some embodiments, the robotic arm may further include a first encoder provided at the load end and a second encoder provided at the motor end. When the load end and the motor end move, the first encoder and the second encoder may generate a first velocity signal associated with the angular velocity of the load end and a second velocity signal associated with the angular velocity of the motor end. For example, taking the first encoder as an example, the angles represented by the first encoder at the beginning and end of the sampling time are the first angle and the second angle, respectively. Based on the first angle and the second angle and the sampling time, the angular velocity of the load end may be calculated using the following formula:

[0079] (5)

[0080] in, is the first angle represented by the first encoder at the beginning of the sampling time; is the second angle represented by the first encoder at the end of the sampling time; In some embodiments, the processing device may process the sampling time Set, for example, the sampling time Set to 0.1s, 0.2s, 0.5s, etc. In some embodiments, the sampling time Can be set by the user.

[0081] Furthermore, in some embodiments, the first encoder may generate a first velocity signal corresponding to the angular velocity of the load end, and the processing device 140 may receive the signal for use in subsequent steps.

[0082] Similarly, the second encoder can use the same method to determine the angular velocity of the motor end. After the encoder determines the angular velocity, it can generate a velocity signal corresponding to the angular velocity. The processing device 140 can determine the angular velocity of the load end and the motor end based on the first velocity signal and the second velocity signal.

[0083] In some alternative embodiments, the processing device 140 may also obtain the angular velocity of the motor end and the load end through an angular velocity sensor. Exemplary angular velocity sensors may include gyroscopes, Hall sensors, and the like.

[0084] Similar to step 410, the first and second speed signals generated by the first and second encoders also contain noise signals. Therefore, in some embodiments, the processing device 140 can filter the speed signals using a filter before feeding the speed signals back to the controller to reduce errors in the control current determined by the controller. In some embodiments, the processing device 140 can filter the first and second speed signals using a second filter and a third filter, respectively, based on a second preset frequency range.

[0085] In some embodiments, the processing device 140 can analyze the frequency components of the speed signal to determine a second preset frequency range. In some embodiments, the frequency range of the noise signal in the speed signal is above 800 Hz, while the frequency range of the speed signal associated with the load end and the motor end is between 300 Hz and 800 Hz. Based on the above reasons, in some embodiments, the processing device 140 can set the second preset frequency range to 100 Hz to 1000 Hz. In some embodiments, the processing device 140 can set the second preset frequency range to 200 Hz to 900 Hz. In some embodiments, the processing device 140 can set the second preset frequency range to 300 Hz to 800 Hz. In some embodiments, the second filter and the third filter can be low-pass filters. When filtering the speed signal, the low-pass filters can retain speed signals within the second preset frequency range and filter out speed signals outside the second preset frequency range. In some embodiments, the types and filtering algorithms of the second and third filters can be the same or similar to those of the first filter and are not further described here. In some embodiments, after the first and second velocity signals are filtered by the second and third filters, respectively, the processing device may determine the angular velocity of the load end and the angular velocity of the motor end based on the filtered first and second velocity signals. In some embodiments, the processing device may determine the angular velocity based on the velocity signal and a mapping relationship between the velocity signal and the angular velocity. Specific encoder models may have different mapping relationships, and the processing device may determine the mapping relationship based on the encoder type.

[0086] In some embodiments, after the angular velocities of the motor end and the load end are determined, the processing device 140 can calculate the speed deviation controller outputs the second control current based on the angular velocities of the motor end and the load end and the transmission ratio of the transmission device. :

[0087] (6)

[0088] in, is the speed deviation controller coefficient; is the angular velocity of the motor end; is the transmission ratio of the transmission; is the angular velocity of the load end; is a constant. In this embodiment, In some embodiments, the processing device 140 can obtain the speed deviation controller coefficient through the simulation system. The initial value is obtained and fine-tuned in actual engineering applications to obtain the final value. The process will not be described in detail here.

[0089] In step 430 , the processing device 140 may determine a third control current output by the disturbance compensator. In some embodiments, step 430 may be performed by the third determination module 830 .

[0090] In some embodiments, the processing device 140 may utilize a disturbance compensator to correct the input current of the motor, thereby reducing motion instability caused by inaccurate motor model parameters and improving the reliability of the robot arm's motion.

[0091] Figure 7 FIG. 1 is a schematic diagram of the working principle of a disturbance compensator according to some embodiments of this specification. Figure 7 As shown, in some embodiments, the processing device 140 can determine the third control current output by the disturbance compensator based on the actual torque value at the load end, the transmission ratio of the transmission device (e.g., a harmonic reducer) driving the connection between the motor end and the load end, the angular velocity of the motor end, and the input current of the disturbance compensator. In this embodiment, the input current of the disturbance compensator can also be referred to as the control current input to the disturbance compensator, which is equivalent to the input current at the motor end at the current moment, that is, the input control variable of the motor end. The actual torque value at the load end and the angular velocity of the motor end are related to the torque output by the motor and, therefore, can represent the output control variable of the motor end to a certain extent. Therefore, the third control current obtained by the disturbance compensator based on the above parameters can also be understood as being used to correct output errors caused by inaccurate motor model parameters (such as the motor's moment of inertia, current-torque coefficient, etc.).

[0092] In some embodiments, the processing device 140 can combine the actual torque value of the load end determined by formula (1) and formula (2) to determine the angular velocity of the motor end through formula (5). After the actual torque value of the load end, the transmission ratio of the transmission device (e.g., harmonic reducer) driving the connection between the motor end and the load end, the angular velocity of the motor end, and the input current of the disturbance compensator are determined, the processing device 140 can calculate the third control current output by the disturbance compensator. :

[0093] (7)

[0094] in, is the input current of the motor at the current moment; is the moment of inertia of the motor; is the current torque coefficient of the motor; is the first-order derivative of the angular velocity at the motor end, that is, the angular acceleration at the motor end; is the actual torque value; is the transmission ratio of the transmission; is a constant. In this embodiment, Can be 0.

[0095] In some embodiments, the third control current output by the disturbance compensator is used as one of the input quantities of the motor end, and the input quantity of the motor end is one of the input quantities of the disturbance compensator, that is, the output quantity of the disturbance compensator itself is part of its own input quantity. Therefore, the disturbance compensator can also be understood as obtaining the input control quantity and output control quantity of the motor end at the current moment, and correcting the input control quantity of the motor end at the next moment to reduce the output error. In some practical application scenarios, the input current of the motor end at the current moment is The motor is based on the input current Generates the corresponding torque, causing the motor end and the load end to move. The angular velocity of the motor end is , the angular velocity of the load end is , where the actual torque acting on the load end is The processing device 140 calculates (through Formula 4) based on the above parameters that the first control current output by the torque controller is: , it is calculated (through formula 6) that the second control current output by the speed deviation controller is , it is calculated (through formula 7) that the third control current output by the disturbance compensator is .

[0096] In step 440 , the processing device 140 may determine the input current of the motor terminal based on the first control current, the second control current, and the third control current. In some embodiments, step 440 may be performed by the fourth determination module 840 .

[0097] In some embodiments, the processing device 140 may determine the control current input to the motor terminal based on the control current output by each controller determined in the aforementioned steps, and the motor outputs torque based on the control current input to the motor terminal.

[0098] In some embodiments, when the first control current , the second control current and the third control current After the determination, the processing device 140 can calculate the input current of the motor end :

[0099] (8)

[0100] in, The first control current The coefficient of The second control current The coefficient of The third control current The coefficient of is the current bias. In this embodiment, is 0. In some embodiments, The value range of may include any constant, for example, The value of can be 1.

[0101] Figure 8 is an exemplary module diagram of a robotic arm control system according to some embodiments of this specification. Figure 8 As shown, in one or more embodiments of this specification, a robot arm control system is also provided. In some embodiments, the robot arm control system 800 can be composed of Figure 1 The robotic arm control system 100 (eg, processing device 140 ) is shown implemented.

[0102] In some embodiments, the robotic arm control system 800 may include: a first determination module 810, a second determination module 820, a third determination module 830 and a fourth determination module 840.

[0103] The first determination module 810 can be configured to determine a first control current output by the torque controller. In some embodiments, the first determination module 810 can also be configured to determine an actual torque value at the load end; obtain a desired torque value input to the torque controller; and determine the first control current based on the actual torque value at the load end and the desired torque value input to the torque controller. In some embodiments, the first determination module 810 can also be configured to obtain a voltage signal from the torque sensor; and determine the actual torque value based on the voltage signal. In some embodiments, the first determination module 810 can also be configured to filter the voltage signal using the first filter within a first preset frequency range; and determine the actual torque value based on the filtered voltage signal. In some embodiments, the first determination module 810 can also be configured to convert the filtered voltage signal into a torque value; determine the zero drift, gravity compensation, and sensitivity of the torque sensor; and determine the actual torque value based on the zero drift, gravity compensation, sensitivity, and torque value of the torque sensor. In some embodiments, the first determination module 810 may also be configured to determine the desired torque value of the torque controller based on a desired torque determination model, where the desired torque determination model is a machine learning model.

[0104] The second determination module 820 can be used to determine the second control current output by the speed deviation controller. In some embodiments, the second determination module 820 can be used to determine the angular velocity of the motor end and the angular velocity of the load end; obtain the transmission ratio of the transmission device; and determine the second control current based on the transmission ratio and the angular velocity of the motor end and the angular velocity of the load end. In some embodiments, the second determination module 820 can be used to obtain a first velocity signal generated by the first encoder and associated with the angular velocity of the load end, and a second velocity signal generated by the second encoder and associated with the angular velocity of the motor end; and determine the angular velocity of the load end and the angular velocity of the motor end based on the first velocity signal and the second velocity signal, respectively. In some embodiments, the second determination module 820 can be used to filter the first velocity signal and the second velocity signal using the second filter and the third filter, respectively, based on a set second preset frequency range; and determine the angular velocity of the load end and the angular velocity of the motor end based on the filtered first velocity signal and the second velocity signal.

[0105] A third determination module 830 may be configured to determine a third control current output by the disturbance compensator. In some embodiments, the third determination module 830 may also be configured to determine an input current of the disturbance compensator, where the input current of the disturbance compensator is the current input current of the motor terminal. The third output current is determined based on the actual torque value, the transmission ratio, the angular acceleration of the motor terminal, and the input current of the disturbance compensator.

[0106] The fourth determining module 830 may be configured to determine the input current of the motor terminal based on the first control current, the second control current, and the third control current.

[0107] It should be understood that Figure 8The illustrated systems and their modules can be implemented in various ways. For example, in some embodiments, the systems and their modules can be implemented using hardware, software, or a combination of software and hardware. The hardware portion can be implemented using dedicated logic, while the software portion can be stored in memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated hardware. Those skilled in the art will appreciate that the methods and systems described above can be implemented using computer-executable instructions and / or contained in processor control code, such as provided on a carrier medium such as a disk, CD, or DVD-ROM, a programmable memory such as read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The systems and their modules described herein can be implemented not only using hardware circuits such as very large-scale integrated circuits or gate arrays, semiconductors such as logic chips or transistors, or programmable hardware devices such as field programmable gate arrays or programmable logic devices, but can also be implemented using software, such as executed by various types of processors, or a combination of such hardware circuits and software (e.g., firmware).

[0108] It should be noted that the above description of the motion control system and its devices / modules is for convenience only and does not limit this specification to the scope of the embodiments. It is understandable that those skilled in the art, after understanding the principles of the system, may arbitrarily combine the various devices / modules, or form a subsystem to connect with other devices / modules without deviating from the principles. For example, Figure 8 The first determination module 810, second determination module 820, third module 830, and fourth determination module 840 disclosed herein may be different modules within a single device (e.g., processing device 140), or a single module may implement the functionality of two or more of the aforementioned modules. For example, the first determination module 810 and the third determination module 830 may be two modules, or a single module may simultaneously have the functionality of determining the first control current output by the torque controller and the third control current output by the disturbance compensator. For another example, each module may have its own storage module. For another example, each module may share a single storage module. Such variations are within the scope of this specification.

[0109] The beneficial effects that may be brought about by the embodiments of this specification include but are not limited to: (1) This specification uses a torque sensor set at the joint load end to directly measure the joint torque, and the result is more accurate; (2) This specification adds a disturbance compensator, and through the real-time correction of the control current by the disturbance compensator, it can still achieve a good control effect when there is a deviation in the motor model parameters; (3) This specification simultaneously collects the speed measured by the encoder at the motor end and the load end, and uses the speed deviation controller to compensate the control current, thereby improving the smoothness of the drag control; (4) The final output (control current) of this specification can be used as the input of the motor current feedback system, and the requirements for the motor driver are relatively low. As long as the motor driver supports the current control of the motor, it does not require an advanced driver with position and speed control functions; (5) This specification controls the output torque of the motor end by combining the torque controller, the speed deviation controller and the control current output by the disturbance compensator, so that the torque output by the motor is more accurate and the control of the robot arm is more stable. It should be noted that different embodiments may produce different beneficial effects. In different embodiments, the beneficial effects that may be produced may be any one or a combination of the above, or any other possible beneficial effects.

[0110] While the basic concepts have been described above, it will be apparent to those skilled in the art that the detailed disclosure is merely illustrative and does not limit this specification. Although not explicitly stated herein, various modifications, improvements, and revisions to this specification may be made by those skilled in the art. Such modifications, improvements, and revisions are suggested in this specification and remain within the spirit and scope of the exemplary embodiments of this specification.

[0111] This specification also uses specific terms to describe the embodiments of this specification. For example, "one embodiment," "an embodiment," and / or "some embodiments" refer to a feature, structure, or characteristic associated with at least one embodiment of this specification. Therefore, it should be emphasized and noted that references to "one embodiment," "an embodiment," or "an alternative embodiment" two or more times in different locations in this specification do not necessarily refer to the same embodiment. Furthermore, certain features, structures, or characteristics of one or more embodiments of this specification may be appropriately combined.

[0112] In addition, unless expressly stated in the claims, the order of the processing elements and sequences, the use of alphanumeric characters, or the use of other names described in this specification are not intended to limit the order of the processes and methods of this specification. Although the above disclosure discusses some of the invention embodiments currently considered useful through various examples, it should be understood that such details are for illustrative purposes only, and the appended claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the spirit and scope of the embodiments of this specification. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.

[0113] Similarly, it should be noted that, in order to simplify the presentation of this specification and thus facilitate understanding of one or more embodiments of the invention, the foregoing descriptions of the embodiments of this specification sometimes combine multiple features into a single embodiment, figure, or description thereof. However, this disclosure method does not imply that the subject matter of this specification requires more features than those recited in the claims. In fact, an embodiment may have fewer features than all of the features of a single disclosed embodiment.

[0114] Finally, it should be understood that the embodiments described in this specification are intended only to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of this specification. Therefore, by way of example and not limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly described and illustrated in this specification.

Claims

1. A method for controlling a robotic arm, characterized in that: The robotic arm includes a joint and a torque controller, a speed deviation controller and a disturbance compensator that are communicatively connected to the joint, and the joint includes a motor end and a load end that is drive-connected to the motor end; The robotic arm control method comprises: determining a first control current output by the torque controller based on an actual torque value at the load end and a desired torque value input to the torque controller; Determining a second control current output by the speed deviation controller based on the angular velocity of the motor end and the angular velocity of the load end; determining a third control current output by the disturbance compensator based on the actual torque value of the load end, the angular acceleration of the motor end, and the input current of the motor end at a current moment; An input current of the motor terminal is determined based on the first control current, the second control current, the third control current, and a current offset.

2. The robotic arm control method according to claim 1, wherein: pass The input current of the motor terminal is obtained ;in, is the first control current, For the second control current, is the third control current, is the current bias, 、 、 is a constant.

3. The robot arm control method according to claim 1, characterized in that: pass The first control current is obtained ;in, is the integral term coefficient of the torque controller, is the proportional term coefficient of the torque controller, is the actual torque value at the load end, is the desired torque value input to the torque controller, is a constant.

4. The robot arm control method according to claim 1, wherein: The robotic arm further includes a torque sensor disposed at the load end; and determining the actual torque value of the load end includes: Acquiring a voltage signal from the torque sensor; Based on the voltage signal, the actual torque value is determined.

5. The robot arm control method according to claim 4, characterized in that: The robotic arm further includes a first filter; and determining the actual torque value based on the voltage signal includes: filtering the voltage signal by the first filter based on a set first preset frequency range; The actual torque value is determined based on the filtered voltage signal.

6. The robot arm control method according to claim 5, characterized in that: The determining the actual torque value based on the filtered voltage signal includes: converting the filtered voltage signal into a torque value; Determining the zero drift, gravity compensation, and sensitivity of the torque sensor; The actual torque value is determined based on the zero point drift, the gravity compensation, the sensitivity, and the torque value of the torque sensor.

7. The robot arm control method according to claim 6, characterized in that: pass The actual torque value is obtained ;in, is the filtered voltage signal, is the zero drift of the torque sensor, is the sensitivity of the torque sensor The reciprocal of is the gravity compensation amount of the torque sensor, is a constant.

8. The robot arm control method according to claim 1, characterized in that: Determining the expected torque value of the torque controller includes: The expected torque value of the torque controller is determined based on an expected torque determination model, and the expected torque determination model is a machine learning model.

9. The robot arm control method according to claim 1, characterized in that: The robotic arm further includes a transmission device drivingly connecting the motor end and the load end; Determining the second control current output by the speed deviation controller includes: obtaining a transmission ratio of the transmission device; The second control current is determined based on the transmission ratio and the angular velocity of the motor end and the angular velocity of the load end.

10. The robot arm control method according to claim 9, characterized in that: pass The second control current is obtained ;in, is the speed deviation controller coefficient, is the angular velocity of the motor end, is the transmission ratio of the transmission device, is the angular velocity of the load end, is a constant.

11. The robot arm control method according to claim 9, characterized in that: The robotic arm further includes a first encoder disposed at the load end and a second encoder disposed at the motor end; and determining the angular velocity of the motor end and the angular velocity of the load end includes: Acquire a first speed signal generated by the first encoder and associated with the angular velocity of the load end, and a second speed signal generated by the second encoder and associated with the angular velocity of the motor end; The angular velocity of the load end and the angular velocity of the motor end are determined based on the first velocity signal and the second velocity signal, respectively.

12. The robot arm control method according to claim 11, characterized in that: The robotic arm further includes a second filter and a third filter; and determining the angular velocity of the load end and the angular velocity of the motor end based on the first velocity signal and the second velocity signal, respectively, includes: filtering the first speed signal and the second speed signal respectively through the second filter and the third filter based on a set second preset frequency range; An angular velocity of the load end and an angular velocity of the motor end are determined based on the filtered first velocity signal and the second velocity signal.

13. The robot arm control method according to claim 12, characterized in that: The second preset frequency range is 300 Hz-800 Hz.

14. The robot arm control method according to any one of claims 11 to 13, characterized in that: The first encoder is an absolute encoder, and the second encoder is an incremental encoder.

15. The robot arm control method according to claim 10, wherein: The robotic arm further includes a transmission device drivingly connecting the motor end and the load end; The determining the input current of the motor end based on the first control current, the second control current, and the third control current includes: The third control current is determined based on the actual torque value, the transmission ratio, the angular acceleration of the motor end, and the input current of the disturbance compensator.

16. The robot arm control method according to claim 15, characterized in that: pass The third control current is obtained ;in, is the input current of the motor at the current moment, is the moment of inertia of the motor at the motor end, is the current torque coefficient of the motor at the motor end, is the first derivative of the angular velocity of the motor end, is the actual torque value, is the transmission ratio of the transmission device, is a constant.

17. A robotic arm control system, characterized in that: The robotic arm includes a joint and a torque controller, a speed deviation controller and a disturbance compensator that are communicatively connected to the joint, and the joint includes a motor end and a load end that is drive-connected to the motor end; The robotic arm control system includes: a first determining module, configured to determine a first control current output by the torque controller based on an actual torque value at the load end and a desired torque value input to the torque controller; a second determining module, configured to determine a second control current output by the speed deviation controller based on the angular velocity of the motor end and the angular velocity of the load end; a third determining module, configured to determine a third control current output by the disturbance compensator based on an actual torque value of the load end, an angular acceleration of the motor end, and an input current of the motor end at a current moment; A fourth determining module is configured to determine an input current of the motor terminal based on the first control current, the second control current, the third control current, and a current offset.

18. A robotic arm, characterized in that: The robotic arm comprises: A joint, the joint comprising a motor end and a load end drivingly connected to the motor end; a torque controller, the torque controller being communicatively connected to the motor end and the load end, the torque controller being configured to determine a first control current based on an input desired torque value and an actual torque value of the load end, and to feed the first control current back to the motor end, wherein the desired torque value is a torque expected to be output by the motor at the motor end, and the desired torque value is manually input by a user, determined based on a desired torque determination model, or obtained from a storage device; a speed deviation controller, the speed deviation controller being communicatively connected to the motor end and the load end, the speed deviation controller being configured to determine a second control current based on an angular velocity of the motor end and an angular velocity of the load end, and to feed the second control current back to the motor end; a disturbance compensator, the disturbance compensator being communicatively connected to the motor end and the load end, the disturbance compensator being configured to determine a third control current based on the angular velocity of the motor end, the actual torque value of the load end, and the input current of the motor end at a current moment, and to feed the third control current back to the motor end; The motor end drives the load end to move based on the first control current, the second control current, and the third control current.

19. The robotic arm according to claim 18, wherein: The joint further includes a torque sensor disposed at the load end, and the torque sensor is used to detect the actual torque value of the load end and generate a voltage signal.

20. The robotic arm according to claim 19, wherein: The robotic arm also includes a first filter, which is communicatively connected to the torque sensor, the disturbance compensator and the torque controller, and is used to filter the voltage signal based on a set first preset frequency range.

21. The robotic arm according to claim 20, wherein: The robotic arm also includes an error compensation device, which is communicatively connected to the first filter, the disturbance compensator and the torque controller. The error compensation device is used to perform zero drift compensation and gravity compensation on the torque value before converting the filtered voltage signal into a torque value and feeding it back to the disturbance compensator and the torque controller.

22. The robotic arm according to claim 18, wherein: The robotic arm further includes a first encoder disposed at the load end and a second encoder disposed at the motor end; The first encoder is used to obtain a first speed signal from the load end and feed the first speed signal back to the speed deviation controller; the second encoder is used to obtain a second speed signal from the motor end and feed the second speed signal back to the disturbance compensator and the speed deviation controller.

23. The robotic arm according to claim 22, wherein: The robotic arm further includes a second filter and a third filter, the second filter being communicatively connected to the first encoder and the speed deviation controller, and the third filter being communicatively connected to the second encoder, the disturbance compensator, and the speed deviation controller; The second filter is configured to filter the first speed signal based on a set second preset frequency range before feeding the first speed signal back to the speed deviation controller, and feed the filtered first speed signal back to the speed deviation controller; The third filter is used to filter the second speed signal based on a set second preset frequency range before feeding the second speed signal back to the disturbance compensator and the speed deviation controller, and feed the filtered second speed signal back to the disturbance compensator and the speed deviation controller.

24. The robotic arm according to claim 23, wherein: The second preset frequency range is 300 Hz-800 Hz.

25. The robotic arm according to claim 22, wherein: The first encoder is an absolute encoder, and the second encoder is an incremental encoder.

26. The robotic arm according to claim 18, wherein: The mechanical arm further includes a transmission device, and the motor end is drivingly connected to the load end through the transmission device.

27. The robotic arm according to claim 26, wherein: The transmission device includes a harmonic reducer.

Citation Information

Patent Citations

  • Robot control device

    CN104339351A

  • Speed control method for high-accuracy traction teaching robot based on impedance model

    CN106774181A

  • Robot compliant teaching and reappearing method based on man-machine cooperation

    CN111546315A

  • Compliance control method for joint of collaborative robot

    CN112847327A

  • Mechanical arm

    CN215825344U