CN113664869A - Mechanical arm, mechanical arm control method and mechanical arm control system - Google Patents
Mechanical arm, mechanical arm control method and mechanical arm control system Download PDFInfo
- Publication number
- CN113664869A CN113664869A CN202111154320.9A CN202111154320A CN113664869A CN 113664869 A CN113664869 A CN 113664869A CN 202111154320 A CN202111154320 A CN 202111154320A CN 113664869 A CN113664869 A CN 113664869A
- Authority
- CN
- China
- Prior art keywords
- torque
- controller
- control current
- motor
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J18/00—Arms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
The embodiment of the specification discloses a control method of a mechanical arm, wherein the mechanical arm comprises a joint, a torque controller, a speed deviation controller and a disturbance compensator, wherein the torque controller, the speed deviation controller and the disturbance compensator are in communication connection with the joint; the mechanical arm control method comprises the following steps: determining a first control current output by a torque controller; determining a second control current output by the speed deviation controller; determining a third control current output by the disturbance compensator; an input current at the motor terminal is determined based on the first control current, the second control current, and the third control current.
Description
Technical Field
The specification relates to the technical field of robots, in particular to a mechanical arm, and a mechanical arm control method and system.
Background
With the popularization of automation equipment, mechanical arms are widely applied to the fields of industry, medical treatment and the like. In some cases, in order to better realize human-computer interaction, a user needs to manually drag the mechanical arm.
Therefore, it is necessary to provide a method for controlling a mechanical arm, so that when a user drags the mechanical arm, the mechanical arm moves more lightly, smoothly and smoothly, the dragging hand feeling of the mechanical arm is improved, and the user experience is improved.
Disclosure of Invention
One of the embodiments of the present specification provides a method for controlling a robot arm, where the robot arm includes a joint, and a torque controller, a speed deviation controller, and a disturbance compensator that are communicatively connected to the joint, where the joint includes a motor end and a load end that is drivingly connected to the motor end; the mechanical arm control method comprises the following steps: 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; determining an input current at the motor terminal based on the first control current, the second control current, and the third control current.
One of the embodiments of the present specification provides a robot arm control system, where the robot arm includes a joint, and a torque controller, a speed deviation controller, and a disturbance compensator that are communicatively connected to the joint, where the joint includes a motor end and a load end that is drivingly connected to the motor end; the robot arm control system includes: a first determination module for determining a first control current output by the torque controller; a second determination module for determining a second control current output by the speed deviation controller; a third determination module to determine a third control current output by the disturbance compensator; a fourth determination module to determine an input current at the motor terminal based on the first control current, the second control current, and the third control current.
One of the embodiments of the present specification provides a robot arm, including a joint, where the joint includes a motor end and a load end in driving connection with the motor end; the torque controller is in communication connection with the motor end and the load end, and is used for determining a first control current based on an input expected torque value and an actual torque value of the load end and feeding the first control current back to the motor end; a speed deviation controller communicatively connected to the motor end and the load end, the speed deviation controller 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 back the second control current to the motor end; the disturbance compensator is in communication connection with the motor end and the load end, and is used for determining a third control current based on the angular speed of the motor end, the actual moment value of the load end and the input current of the motor end at the current moment and feeding 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.
Drawings
The present description will be further explained by way of exemplary embodiments, which will be described in detail by way of the accompanying drawings. These embodiments are not intended to be limiting, and in these embodiments like numerals are used to indicate like structures, wherein:
FIG. 1 is a schematic diagram of an application scenario of a robotic arm motion control system according to some embodiments herein;
FIG. 2 is a simplified structural schematic of a robotic arm according to some embodiments herein;
FIG. 3 is a schematic illustration of a robot arm control flow according to some embodiments herein;
FIG. 4 is a schematic diagram of a robot arm according to some embodiments of the present disclosure;
FIG. 5 is a schematic diagram of the operation of a torque controller according to some embodiments described herein;
FIG. 6 is a schematic diagram of the operating principle of a speed deviation controller according to some embodiments of the present description;
FIG. 7 is a schematic diagram of the operation of a disturbance compensator according to some embodiments herein;
FIG. 8 is an exemplary block diagram of a robotic arm motion control system in accordance with certain embodiments of the present disclosure.
Detailed Description
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only examples or embodiments of the present description, and that for a person skilled in the art, the present description can also be applied to other similar scenarios on the basis of these drawings without inventive effort. Unless otherwise apparent from the context, or otherwise indicated, like reference numbers in the figures refer to the same structure or operation.
It should be understood that "system," "device," and/or "module" as used herein is a method for distinguishing different components, elements, components, parts, or assemblies at different levels. However, other words may be substituted by other expressions if they accomplish the same purpose.
As used in this specification and the appended claims, the terms "a," "an," "the," and/or "the" are not intended to be inclusive in the singular, but rather are intended to be inclusive in the plural, unless the context clearly dictates otherwise. In general, the terms "comprises" and "comprising" merely indicate that steps and elements are included which are explicitly identified, that the steps and elements do not form an exclusive list, and that a method or apparatus may include other steps or elements.
Flow charts are used in this description to illustrate operations performed by a system according to embodiments of the present description. It should be understood that the preceding or following operations are not necessarily performed in the exact order in which they are performed. Rather, the various steps may be processed in reverse order or simultaneously. Meanwhile, other operations may be added to the processes, or a certain step or several steps of operations may be removed from the processes.
Some embodiments of the present description provide a robot arm including a joint, a plurality of controllers communicatively coupled to the joint, and a plurality of sensors disposed on the joint, and a method of controlling the robot arm. Wherein the joint comprises a motor end and a load end. In some embodiments, the robot arm provided by the present disclosure may detect kinematic parameters (e.g., torque, angular velocity, etc.) in the joint motion by using a sensor, and feed the kinematic parameters back to the controller, and the controller may output a control current by combining the kinematic parameters and other parameters and feed the control current back to the motor at the motor end, so that the motor outputs a corresponding torque. In some embodiments, the controllers referred to herein may include a torque controller, a speed deviation controller, and a disturbance compensator. The torque output by the motor is controlled by the torque controller, and the output control quantity (such as control current) of the torque controller is corrected by the speed deviation controller and the disturbance compensator, so that the control precision of the mechanical arm is improved. In some embodiments, the plurality of sensors may include angular velocity sensors for detecting the motor end and load end angular velocities (e.g., a first encoder to detect the load end angular velocity and a second encoder to detect the motor end angular velocity), which may be fed back to a velocity bias controller, which may generate a corresponding control current in conjunction with the angular velocity and other parameters. In some embodiments, the plurality of sensors may further include a torque sensor for detecting an actual torque value at the load end. The actual torque value can be fed back to the torque controller and the disturbance compensator, and the actual torque value and other parameters can be combined to respectively determine the control current output by the torque controller and the disturbance compensator. In some cases, the motion parameters of the joint are directly measured by the sensors, and the result is more accurate. In some cases, the control current error determined by the plurality of controllers based on the measured motion parameters is smaller, and the control effect is better.
Fig. 1 is a schematic diagram of an application scenario of a robotic arm control system according to some embodiments of the present disclosure. As shown in FIG. 1, in some embodiments, the robot arm control system 100 may include a robot arm 110, a network 120, at least one terminal 130, a processing device 140, and a storage device 150. The various components of the system 100 may be interconnected by a network 120. For example, the processing equipment 140 and the robotic arm 110 may be connected or in communication via the network 120.
FIG. 2 is a simplified structural schematic of a robotic arm according to some embodiments herein; FIG. 3 is a schematic diagram of a robot arm control flow according to some embodiments herein. As shown in fig. 2 and 3, in some embodiments, the robotic arm 110 may include a joint 111, a torque controller 116 communicatively coupled to the joint 111, a velocity deviation controller 117, and a disturbance compensator 118, 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 drivingly connected to the motor end 112. The motor end 112 may refer to an end of one of the joints 111 where the motor is located. The load end 113 is an end of one of the joints 111 that receives a load. In some embodiments, the motor may be communicatively coupled to a torque controller 116, a speed deviation controller 117, and a disturbance compensator 118. The motor can receive the control current related to the torque value fed back by the torque controller 116, the speed deviation controller 117 and the disturbance compensator 118 and output a torque with a corresponding magnitude, so as to drive the motor end 112 and the load end 113 to move.
In some embodiments, a transmission device (e.g., a reducer 1101) is disposed between the motor end 112 and the load end 113, and when the motor outputs a torque, not only the motor end 112 is driven to move, but also the transmission device can transmit the torque to the load end 113 to drive the load end 113 to move. In some embodiments, the transmission may be a reducer 1101, as the load end 113 of the robotic arm 110 is typically required to have a large torque. In some cases, when the output power of the motors is the same, the speed reducer may reduce the rotation speed, thereby increasing the torque transmitted to the load end 113. In some embodiments, the transmission may include, but is not limited to, harmonic reducers, reducers based on the cycloidal planetary principle, multi-stage precision gear reducers, and the like. In this embodiment, the transmission may be a harmonic reducer.
In some embodiments, the torque sensor 114 is disposed at the load end 113 of the joint 111. The torque sensor 114 may detect an actual torque value of the load end 113. The actual torque value may refer to the torque acting on the load end 113. For example, the torque sensor 114 may detect a physical change in the torque applied to the load end 113 and generate an electrical signal associated therewith. The associated electrical signal may be that the electrical signal and the physical change of the moment have a mapping relation, and if any one of the two data is determined, the other data may be determined according to the mapping relation. 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. Wherein the voltage range is related to the model of the torque sensor 114. In alternative embodiments, the voltage signal may also range from 0V to 10V, or from-10V to 10V, when other types of torque sensors 114 are used. In some embodiments, types of torque sensors 114 may include, but are not limited to, non-contact torque sensors (e.g., strain, magneto, fiber optic, and opto-electronic sensors, etc.), wireless torque sensors, electronic torque sensors, and the like.
In some embodiments, the robotic arm 110 may further include a first filter 1191, and the first filter 1191 may be communicatively coupled to 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 predetermined frequency range, and convert the filtered voltage signal into a torque value, which is then fed back to the disturbance compensator 118 and the torque controller 116.
In some cases, the voltage signal generated by the torque sensor 114 includes not only the voltage signal associated with the actual torque value of the load terminal 113, but also a noise signal. First filter 1191 can filter voltage signal, rejects noise signal for the moment value that obtains after the conversion is more accurate.
In some embodiments, the voltage signal within the first preset frequency range is a voltage signal associated with the actual moment value of the load end 113, and the voltage signal outside the first frequency range may be referred to as a noise signal. Therefore, in order to retain the voltage signal within the first preset frequency range, the first filter 1191 may be a low pass filter. While the value of the first predetermined frequency range may be determined from a frequency domain analysis of the voltage signal. For more details on the voltage signal filtered by the first filter and the value of the first predetermined frequency range, reference may be made to the description of step 410 in fig. 4.
In some embodiments, the robotic arm 110 may further include an error compensation device, which may be communicatively coupled 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 the torque value and feeding back to the torque controller 116 and the disturbance compensator 118, so as to ensure the accuracy of the obtained torque value. For more details on zero drift compensation and gravity compensation of the moment value, reference may be made to the description of step 410 of fig. 4.
In some embodiments, an angular velocity sensor 115 may be used to detect the angular velocity of the motor end 112 and the load end 113. In the present specification embodiment, the angular velocity sensor 115 may be an encoder. In some embodiments, the angular velocity sensor 115 may include first and second encoders 1151 and 1152 disposed at the load end 113 and the motor end 112, respectively, the first and second encoders 1151 and 1152 being configured to detect the angular velocities of the load end 113 and the motor end 112, respectively, and generate corresponding sensing signals. For example, taking the first encoder 1151 as an example of detecting the angular velocity of the load terminal 113, the first encoder 1151 may acquire a first angle indicated at the beginning of the sampling time and a second angle indicated at the end of the sampling time, and the angular velocity may be determined based on the first angle, the second angle, and the sampling time. Further, the first encoder 1151 may generate a first velocity signal associated with angular velocity and feed the velocity signal to a controller (e.g., the disturbance compensator 118 and the velocity offset controller 117) communicatively coupled thereto. In some embodiments, the first speed signal is a signal that reflects the speed of the object. The type of speed signal may include an analog signal or a digital signal. Similarly, the second encoder 1152 may also determine the angular velocity of the motor end 112 in the same manner, generate a second velocity signal and feed it back to a controller (e.g., the velocity offset controller 117) communicatively coupled thereto. In some alternative embodiments, the angular velocities of the motor end 112 and the load end 113 may be determined by other sensors, including but not limited to gyroscopes, hall sensors, angle-sensing synchronizers, and the like.
In some embodiments, a second filter 1192 is communicatively coupled between the first encoder 1151 and the disturbance compensator 118. A third filter 1193 is communicatively coupled between the second encoder 1152 and the disturbance compensator 118 and the speed deviation controller 117. In some embodiments, noise signals may also exist in the speed signals generated by the first encoder 1151 and the second encoder 1152 due to noise interference caused by other factors such as electrical or ambient environment, and in order to obtain real 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 may be configured to filter the first speed signal and the second speed signal, and reject noise in the speed signals, so that the control current output by the controller is more accurate, and the control accuracy of the mechanical arm 110 is improved.
In some embodiments, the second filter 1192 may be used to filter the first speed signal based on a set second preset frequency range and feed the filtered first speed signal back to the speed deviation controller 117 before feeding the first speed signal back to the speed deviation controller 117. The third filter 1193 is configured to filter the second speed signal based on the set second preset frequency range before feeding the second speed signal back to the disturbance compensator 118 and the speed deviation controller 117, and to feed the filtered second speed signal back to the disturbance compensator 118 and the speed deviation controller 117. For example, taking the second filter 1192 as an example, the second filter 1192 may reserve (i.e., enable the signal components in the first speed signal within the second predetermined frequency range to be fed back to the corresponding controller through the second filter 1192), and reject signal components outside the second predetermined frequency range. The second predetermined frequency range may be determined by frequency component analysis of the velocity signal. Illustratively, the noise signal in the speed signal is high frequency (e.g., signal frequency above 800Hz) and the speed signal is low frequency (e.g., signal frequency below 800 Hz). In some embodiments, the range of values of the second preset frequency may include 100Hz to 1000 Hz. In some embodiments, the range of values of the second preset frequency may include 200Hz to 900 Hz. In some embodiments, the range of values of the second preset frequency may include 300Hz 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. And are not described in detail herein.
In some embodiments, the torque controller 116 may control the torque output by the motor. For example, the torque controller 116 may be communicatively coupled to the motor to control the motor to output a corresponding torque by sending a control current to the motor. In some embodiments, the torque controller 116 may output the first control current based on an actual torque value of the load end 113 and a desired torque value input to the torque controller 116.
In some embodiments, besides 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 may be calculated through the working current of the motor, or the actual torque value of the load end 113 may be calculated through a six-dimensional force sensor, and the specific measurement and calculation process is not described herein again.
In some embodiments, the torque controller 116 may take the torque value manually input by the user as the desired torque value. The desired torque value may refer to a torque that the motor is expected to output. For example, a user may input a desired motor output torque via an input device. For example, if the user can directly input the torque output by the motor to the torque controller 116 as a fixed value of 1N · m, the torque value can be used as the desired torque value input to the torque controller 116. In some embodiments, the expected torque value may also be determined in other ways, such as by an expected torque determination model, again, for example, obtained directly from the storage device 150. For more details on obtaining the desired torque value, reference may be made to the description of step 410 in fig. 4, which is not described herein again.
In some embodiments, the speed deviation controller 117 may be configured to control the angular speed of the motor end 112 and the angular speed of the load end 113 to be within a set range. In some embodiments, the speed deviation controller 117 may calculate a correction amount of the input current to the motor according to a deviation amount of the angular speed of the motor end 112 (after being converted based on the transmission ratio of the transmission) and the angular speed of the load end 113, so that the deviation amount of the angular speed of the motor end 112 and the angular speed of the load end 113 is within a set range, so that the motion of the mechanical arm 110 is more stable. In this specification, the correction amount of the motor input current output by the speed deviation controller 117 may be referred to as a second control current. In some embodiments, the angular velocity of the motor end 112 and the angular velocity of the load end 113 may deviate by an amount ranging from-0.030 rad/s to 0.015 rad/s. In some embodiments, the angular velocity of the motor end 112 and the angular velocity of the load end 113 may be offset by an amount in a range including-0.025 rad/s to 0.020 rad/s. In some embodiments, the angular velocity of the motor end 112 and the angular velocity of the load end 113 may be offset by an amount in a range including-0.023 rad/s to 0.023 rad/s.
In some embodiments, the disturbance compensator 118 may be used to correct output errors due to inaccuracies in motor model parameters (e.g., rotational inertia of the motor, current moment coefficients, etc.). In some embodiments, the disturbance compensator 118 may be configured 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 end 112 and the load end 113 (e.g., the angular velocity of the motor end 112, the actual torque value of the load end 113). Wherein the actual torque value of the load end 113 can be determined by the torque sensor 114 in other embodiments of the present description. The angular velocity of the motor end 112 can be acquired by a second encoder 1152 provided at the motor end 112. In some embodiments, the second encoder 1152 may generate a second speed signal associated with the angular velocity of the motor end 112, which may be input to the disturbance compensator 118. In this specification, the correction amount of the motor input current output by the disturbance compensator 118 may be referred to as a third control current.
In some embodiments, the motor may receive the first control current, the second control current, and the third control current fed back from the torque controller 116, the speed deviation controller 117, and the disturbance compensator 118, and output a corresponding torque based on the control currents.
The network 120 may include any suitable network capable of facilitating the exchange of information and/or data for the robotic arm control system 100. In some embodiments, at least one component of the robot arm control system 100 (e.g., the robot 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 robot 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, etc., or any combination thereof. For example, network 120 may include a wired network, a fiber optic network, a telecommunications network, an intranet, a Wireless Local Area Network (WLAN), BluetoothTMNetwork and ZigBeeTMA network, a Near Field Communication (NFC) network, the like, or any combination thereof. In some embodiments, network 120 may include at least one network access point. For example, the network 120 may include wired and/or wireless network access points (e.g., base stations and/or internet exchange points) through which at least one component of the robotic arm control system 100 may connect to the network 120 to exchange data and/or information.
The at least one terminal 130 may be in communication with and/or connected to the robotic arm 110, the processing device 140, and/or the storage device 150. For example, information of the target position of the robot arm 110 acquired by the processing device 140 may be stored in the storage device 150. In some embodiments, at least one terminal 130 may include a mobile device 131, a tablet computer 132, a laptop computer 133, and the like, or any combination thereof. For example, mobile device 131 may include a mobile joystick, a Personal Digital Assistant (PDA), a smart phone, or the like, or any combination thereof. In some embodiments, at least one terminal 130 may include a display that may be used to display information related to the motion control process, such as, for example, parameters of the motion of the robotic arm 110 (including, but not limited to, angular velocity, moment values, etc.).
In some embodiments, at least one terminal 130 may include an input device. The input device may be selected from keyboard input, touch screen (e.g., with tactile or haptic feedback) input, voice input, eye tracking input, gesture tracking input, brain monitoring system input, image input, video input, or any other similar input mechanism. Input information received via the input device may be transmitted, for example, via a bus, to the processing device 140 for further processing. Other types of input devices may include cursor control devices, such as a mouse, a trackball, or cursor direction keys, among others. In some embodiments, a user may input a desired torque value via an input device. In some embodiments, at least one terminal 130 may include an output device. Output devices may include a display, speakers, printer, or the like, or any combination thereof. The output device may be used to output parameters related to the robotic arm 110, etc., determined by the processing device 140. In some embodiments, at least one terminal 130 may be part of the processing device 140.
The processing device 140 may process data and/or information obtained from the robot 110, the storage device 150, the at least one terminal 130, or other components of the robot control system 100. For example, the processing device 140 may obtain a motion parameter of the robot 110 (e.g., an angular velocity of the load end 113 of the robot 110) from the robot 110. In some embodiments, the processing device 140 may be a single server or a group of servers. The server groups may be centralized or distributed. In some embodiments, the processing device 140 may be local or remote. For example, the processing device 140 may 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. As another example, the processing device 140 may 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 may be implemented on a cloud platform. For example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, and the like, or any combination thereof.
In some embodiments, a storage device 150 may be connected to the network 120 to communicate with at least one other component (e.g., the processing device 140, the at least one terminal 130) in the robotic arm control system 100. At least one component in the robotic arm control system 100 may access data stored in the storage device 150 via the network 120. In some embodiments, the storage device 150 may be part of the processing device 140.
It should be noted that the foregoing description is provided for illustrative purposes only, and is not intended to limit the scope of the present description. Many variations and modifications may be made by one of ordinary skill in the art in light of the teachings of this specification. The features, structures, methods, and other features of the exemplary embodiments described herein may be combined in various ways to obtain additional and/or alternative exemplary embodiments. For example, the storage device 150 may be a data storage device 150 comprising a cloud computing platform, such as a public cloud, a private cloud, a community and hybrid cloud, and the like. However, such changes and modifications do not depart from the scope of the present specification.
FIG. 4 is a schematic diagram of a robot arm according to some embodiments of the present disclosure. In particular, the robot control method 400 may be performed by the robot control system 100 (e.g., the processing device 140). For example, the robot arm control method 400 may be stored in a storage device (e.g., an on-board storage unit of the processing device 140 or the storage device 150) in the form of a program or instructions that, when executed by the robot arm control system 100 (e.g., the processing device 140), may implement the robot arm control method 400. The operations of the flow shown below are for illustration purposes only. In some embodiments, flow 400 may be accomplished with one or more additional operations not described, and/or one or more operations not shown. Additionally, the order in which the operations of method 400 are illustrated in FIG. 4 and described below is not intended to be limiting.
At 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.
In some embodiments, the torque controller is in communication connection with a motor at the motor end, and a first control current output by the torque controller can control the motor to output a corresponding torque, so as to drive the load end to move.
FIG. 5 is a schematic diagram illustrating the operation of a torque controller according to some embodiments of the present disclosure. As shown in fig. 5, 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 desired torque value input to the torque sensor.
In some embodiments, the processing device 140 may determine the actual moment value at the load end by obtaining a sensor signal generated by a sensor that is correlated to the actual moment value at the load end.
In some embodiments, the processing device 140 may determine the actual torque value of the load end by a torque sensor disposed at the load end. In some embodiments, the torque sensor may sense, detect, and convert physical changes in the torsional moment (e.g., changes in magnitude of the moment, changes in direction of the moment, etc.) into precise electrical signals. For example, the torque sensor may convert a physical change in torsional torque into a voltage signal that is correlated with the torque at the load end. In other steps of this description, the processing device 140 may convert the voltage signal into a corresponding torque and feed the torque back to the torque controller. For example, the processing device 140 may determine a mapping between the voltage signal and the torque value based on the type of torque sensor and then determine the torque based on the mapping and the voltage signal (e.g., determine the torque based on a proportional relationship between the span of the torque sensor and the voltage value output by the torque sensor). In some embodiments, the processing device 140 may determine the actual torque value of the load end through other sensors, for example, through a six-dimensional force sensor, in addition to the torque sensor in the previous embodiments.
In some embodiments, the processing device 140 may determine the actual moment value at the load end in other ways. For example, the processing device 140 may determine an actual torque value at the load side based on the current torque coefficient of the motor, the actual operating current, and the friction coefficient of the transmission (e.g., harmonic reducer).
In some embodiments, the voltage signal generated by the torque sensor may include not only a voltage signal associated with the actual torque value at the load end, but also a signal component unrelated to the actual torque value at the load end, which may be referred to as a noise signal. If the voltage signal is not screened and the noise signal is rejected, a large error may exist between the torque value of the load end determined by the processing device 140 based on the voltage signal and the actual torque value, so that the error of the first control current output by the torque controller is large, and finally the torque deviation output by the motor is large.
For the above reasons, in some embodiments, the processing device 140 may filter the voltage signal generated by the torque sensor through the first filter, so as to reduce noise interference and make the determined actual torque value more accurate. In some embodiments, the processing device 140 may filter the voltage signal based on a first preset frequency range using a first filter to remove a noise signal therein before converting the voltage signal into the moment value. In some embodiments, it may be known based on frequency domain analysis of the voltage signal that the noise signal in the voltage signal is generally a high frequency signal (e.g., the signal frequency is greater than 800Hz), while the voltage signal associated with the actual moment value at the load end is generally a low frequency signal (e.g., the signal frequency range is between 300Hz-800 Hz).
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 may be selected as the first filter, and the low-pass filter may retain the voltage signal within a first predetermined frequency range, while signal components outside the first predetermined frequency range are filtered out. In some embodiments, the first predetermined frequency range of the low pass filter filtered voltage signal may include values of 100Hz to 1000 Hz. In some embodiments, the value of the first predetermined frequency range may include 200Hz to 900 Hz. In some embodiments, the value of the first predetermined frequency range may include 300Hz to 800 Hz.
In some embodiments, the first filter may filter the voltage signal through 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, and the like. In some embodiments, the first filter may be a first order low pass filter, i.e. the voltage signal passing through the first filter is filtered once. Input X of a first order low pass filternAnd output YnCan be expressed by a first order linear equation:
Yn=a*Xn+(1-a)*Yn-1 (1)
wherein, XnIs the input of the first filter at the nth sampling; y isnIs the output of the first filter at the nth sampling; a is the time constant 0 of the first filter. In this embodiment, the processing device 140 may use the voltage signal generated by the torque sensor as an input to the current first filter sample of equation (1) and determine the output of the current first filter sample, i.e., the filtered voltage signal, in conjunction with the output of the previous first filter sample.
In some embodiments, the processing device 140 may convert the voltage signal filtered by the first filter into a torque value and feed back to the torque controller. In some embodiments, the processing device 140 may determine the actual torque value corresponding to the voltage signal based on a mapping of the voltage signal to the actual torque value. The mapping relationship is determined by the type of the torque sensor, and when the type of the torque sensor is determined, the processing device 140 may directly obtain the mapping relationship of the torque sensor.
In some embodiments, because there is a certain error in the gravity and the torque sensor itself, the processing device 140 needs to compensate the error based on the converted torque value, so as to ensure the accuracy of the torque value. In some embodiments, the compensation process may include zero drift compensation and gravity compensation. The zero drift compensation of the torque sensor refers to correcting the zero of the torque sensor, so that the torque value represented by the torque sensor is zero when the torque sensor is in an initial state; the gravity compensation is used for correcting a moment value generated to the joint by the load end under the action of gravity, so that the influence of gravity is eliminated.
In some embodiments, after the zero drift amount, the gravity compensation amount, and the sensitivity of the torque sensor are determined, the processing device 140 may calculate the actual torque value τa:
τa=(U-Z0)*s-1-G+ma (2)
Wherein U is a filtered voltage signal; the processing device 140 converts U to a corresponding torque value prior to calculation; z0The zero drift amount of the torque sensor; s-1Is the inverse of the sensitivity s of the torque sensor; g is the gravity compensation quantity of the torque sensor; m isaIs constant, in this embodiment, maIs 0.
In some embodiments, the zero drift Z for a particular type of torque sensor0And sensitivity s is a fixed constant, and its specific value can be obtained by a torque sensor measurement experiment, and its process is not described in detail here.
In some embodiments, the processing device 140 may determine the gravity compensation amount G based on kinematic equations of the joints. Illustratively, for a robotic arm system having only one joint (e.g., one motor end and one load end), the amount of gravity compensation G is equal to the weight at the load end multiplied by the length of the moment arm relative to the joint axis of rotation. Wherein the weight of the load end can be determined by measurement. The length of the force arm of the joint rotating shaft refers to the distance from the load end to the motor end. In another example, for a robotic arm system having multiple joints, the processing device 140 may determine the gravity compensation amount G based on the following formula:
wherein G isiThe gravity compensation quantity G for the ith joint; m isiMass of the ith joint; gTIs a gravity matrix; u shapepiIs the derivative of the variable matrix of the joint to the ith joint variable;is a centroid position matrix of the joint.
In some embodiments, the processing device 140 may retrieve the desired torque value stored in the storage device. The expected torque value stored in the storage device may be an expected torque value that has been used in the past. For example, a desired torque value that the processing device 140 has previously determined and input to the torque controller may be stored in a memory device. In some embodiments, the processing device 140 may obtain a desired torque value manually input to the terminal by the user. In some embodiments, the user may input a corresponding desired torque value based on a desired mode of operation of the robotic arm. The mechanical arm operation modes can comprise a passive mode, a boosting mode and a damping mode. The passive mode refers to that the mechanical arm actively moves the arm; the damping mode refers to that the arm of the user actively moves, and the mechanical arm exerts certain force to stop the movement of the arm; the assistance mode means that the mechanical arm assists to apply certain force to help the arm of the user move under the movement intention of the user. For example, the user may set the desired torque value to 0, when the operation mode is the passive mode. In another example, the user may set the desired torque value to 1N · m, 2N · m, 5N · m, etc., when the operating mode is the passive mode or the boost mode.
In some embodiments, the processing device 140 may determine a desired torque value for input to the torque controller based on a desired torque determination model. The processing device 140 may input the actual torque value at the load end to the desired torque determination model. The output of the desired torque determination model may include a desired torque value and a robot arm operating mode. In some embodiments, the desired moment determination model may be a machine learning model. The expected moment 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, and the like, and the description is not limited.
In some embodiments, when training the expected moment determination model, the actual moment values of a plurality of load ends with labels (or called labels) can be used as training data, and training is performed in a common manner, such as gradient descent, so that the parameters of the model can be learned. In some embodiments, the desired moment determination model may be trained in another device or module.
In some embodiments, after the actual torque value of the load end and the desired torque value input to the torque controller are determined, the processing device 140 may calculate the first control current u output by the torque controllerτ:
uτ=Ki*∫(τcmd-τa)dt-Kp*τa+mτ (4)
Wherein, KiIs the integral term coefficient of the torque controller, the integral term coefficient K of the torque controlleriMay represent a relationship between a control current output by the torque controller and an amount by which the torque value is accumulated over time; kpIs the proportional coefficient of the torque controller, the proportional coefficient K of the torque controllerpCan represent the relation between the control current and the torque value output by the torque controller; tau isaThe actual moment value of the load end is obtained; tau iscmdIs a desired torque value input to the torque controller. In some embodiments, the processing device 140The proportional term coefficient K of the torque controller can be obtained through a simulation systempAnd integral term coefficient KiIs fine-tuned in practical engineering applications to obtain the final values of the two. In some embodiments, the desired torque value τ input to the torque controllercmdActual moment value tau at the load endaAnd mτAre all constants, wherein mτMay be 0.
In some embodiments, the processing device 140 may input the desired torque value τ to the torque controller based on the first control current output by the torque controller at the previous timecmdAnd the actual moment value tau at the load endaDetermining a first control current uτ. The processing device 140 may obtain the first control current output by the torque sensor at the previous time from the memory device 150 or a memory on board the torque controller. In some embodiments, the processing device 140 may determine that the current time is compared to the expected torque value τ of the torque controller at the previous timecmdAnd the actual moment value tau at the load endaWhether a change is made or the value of the change is within a set threshold range, and if no change is made or the value of the change is within the set threshold range, the processing device 140 may determine the first control current u output by the torque controllerτNo change; if the variation or the variation value exceeds a set threshold range, the processing device 140 may determine the first control current u output by the torque controllerτModified and the first control current u is determined according to the steps described in the previous embodimentsτ。
At step 420, the processing device 140 may determine a second control current output by the speed deviation controller. In some embodiments, step 420 may be performed by the second determination module 820.
In some embodiments, the processing device 140 may modify the input current of the motor by using the speed deviation controller so that the deviation amount between the angular velocity of the motor side and the angular velocity of the load side is within a set range, thereby making the robot arm movement smoother. The set range can be found in other embodiments of the present disclosure, and is not described herein again.
FIG. 6 is a schematic diagram of the operating principle of a speed deviation controller according to some embodiments of the present disclosure. As shown in fig. 6, in some embodiments, the processing device 140 may determine an angular velocity of the motor side and an angular velocity of the load side, and determine the second control current based on a transmission ratio of the transmission and the angular velocities of the motor side and the load side.
In some embodiments, the drive connection between the motor side and the load side is via a transmission. In some embodiments, the gear ratio of the harmonic reducer is an inherent property, so the processing device 140 may directly obtain the gear ratio of the harmonic reducer based on the kinematic parameters of the harmonic reducer.
In some embodiments, the robotic arm may further comprise a first encoder disposed at the load end and a second encoder disposed at the motor end. The first encoder and the second encoder may generate a first velocity signal associated with an angular velocity of the load side and a second velocity signal associated with an angular velocity of the motor side as the load side and the motor side move. Illustratively, taking the first encoder as an example, the angles represented by the first encoder at the beginning and the end of the sampling time are a first angle and a second angle, respectively, and the angular velocity at the load end can be calculated based on the first angle and the second angle and the sampling time by the following formula:
wherein, thetan-1Is a first angle represented by the first encoder at the beginning of the sample time; thetanIs the second angle represented by the first encoder at the end of the sampling time; Δ t is the sampling time. In some embodiments, the processing device may set the sampling time Δ t, for example, to 0.1s, 0.2s, 0.5s, etc. In some embodiments, the sampling time Δ t may be set by the user.
Further, in some embodiments, the first encoder may generate a first velocity signal corresponding to the load end angular velocity, which the processing device 140 may receive for use in subsequent steps.
Similarly, the second encoder can determine the angular velocity at the motor end in the same way. When the encoder determines the angular velocity, the velocity signal processing device 140, which may generate a velocity signal corresponding to the angular velocity, may determine the angular velocities at the load side and the motor side based on the first velocity signal and the second velocity signal.
In some alternative embodiments, the processing device 140 may further obtain the angular velocities of the motor side and the load side through the angular velocity sensor. Exemplary angular rate sensors may include gyroscopes, hall sensors, and the like.
Similar to step 410, the first and second velocity signals generated by the first and second encoders also include noise signals. Thus, in some embodiments, the processing device 140 may filter the speed signal with a filter before feeding the speed signal back to the controller to reduce the error in the control current determined by the controller. In some embodiments, the processing device 140 may filter the first speed signal and the second speed signal with a second filter and a third filter, respectively, based on a second preset frequency range.
In some embodiments, the processing device 140 may analyze the frequency content of the velocity signal to determine a second predetermined frequency range. In some embodiments, the frequency range of the noise signal in the speed signal is above 800Hz, and the frequency range of the speed signal associated with the load side and the motor side is between 300Hz-800 Hz. For the above reasons, in some embodiments, the processing device 140 may set the second preset frequency range to 100Hz-1000 Hz. In some embodiments, the processing device 140 may set the second preset frequency range to 200Hz-900 Hz. In some embodiments, the processing device 140 may set the second preset frequency range to 300Hz-800 Hz. In some embodiments, the second filter and the third filter may be low pass filters that may retain the speed signal within a second predetermined frequency range while filtering the speed signal and screen out speed signals outside the second predetermined frequency range. In some embodiments, the type of the second filter, the type of the third filter, and the filtering algorithm may be the same as or similar to the first filter, and are not described here again. In some embodiments, when the first speed signal and the second speed signal are filtered by the second filter and the third filter, respectively, the processing device may determine the angular speed at the load side and the angular speed at the motor side based on the filtered first speed signal and the filtered second speed signal. 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. The encoders of specific models have different mapping relationships, and the processing device can determine the mapping relationships according to the types of the encoders.
In some embodiments, after the angular velocities of the motor side and the load side are determined, the processing device 140 may calculate a speed deviation controller to output the second control current u based on the angular velocities of the motor side and the load side and the transmission ratio of the transmissionv:
Wherein, KdIs the velocity deviation controller coefficient; omegaMAngular velocity at the motor end; r is the transmission ratio of the transmission device; omegaLIs the angular velocity of the load end; m isvIs constant, in this embodiment, mvIs 0. In some embodiments, the processing device 140 may obtain the speed deviation controller coefficient K through a simulation systemdAnd fine-tuned in real engineering applications to obtain its final value, and the process is not described in detail here.
At 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.
In some embodiments, the processing device 140 may modify the input current of the motor by using the disturbance compensator, so as to reduce the motion instability caused by inaccurate motor model parameters and improve the reliability of the mechanical arm motion.
FIG. 7 is a schematic diagram of the operation of a disturbance compensator according to some embodiments herein. As shown in fig. 7, in some embodiments, the processing device 140 may determine the third control current output by the disturbance compensator based on the actual torque value at the load side, the gear ratio of the transmission (e.g., harmonic reducer) driving the connection between the motor side and the load side, the angular velocity at the motor side, and the input current of the disturbance compensator. In this embodiment, the input current of the disturbance compensator may also be referred to as a control current input to the disturbance compensator, which is equal to the input current at the motor end at the last time, i.e. the input control amount at the motor end. The actual torque value of the load end and the angular speed of the motor end are related to the torque output by the motor, so that the actual torque value and the angular speed of the motor end can represent the output control quantity of the motor end to a certain extent. The disturbance compensator deriving the third control current based on the above parameters may also be understood as being used to correct an output error caused by inaccuracies in the motor model parameters (e.g., the rotational inertia of the motor, the current moment coefficient, etc.).
In some embodiments, the processing device 140 may determine the angular velocity at the motor end through equation (5) in combination with the actual torque value at the load end determined by equation (1) and equation (2). After determining the actual torque value at the load side, the transmission ratio for driving the transmission (e.g., harmonic reducer) connecting the motor side and the load side, the angular velocity at the motor side, and the input current of the disturbance compensator, the processing device 140 may calculate a third control current u output by the disturbance compensators:
Wherein u isoutThe input current of the motor end at the last moment; j. the design is a squaremIs the rotational inertia of the motor; ktThe current moment coefficient of the motor;is the first derivative of the angular velocity at the motor end, i.e. the angular acceleration at the motor end; tau isaThe actual torque value is obtained; rIs the transmission ratio of the transmission; m issIs constant, in this embodiment, msMay be 0.
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, namely the output quantity of the disturbance compensator is a part of the input quantity of the disturbance compensator. Therefore, the disturbance compensator can also be understood as correcting the input control quantity of the motor end at the next moment by acquiring the input control quantity and the output control quantity of the motor end at the current moment, so as to reduce the output error. In some practical application scenarios, the input current at the motor end at the last moment is uout. The motor is based on input current uoutGenerating corresponding torque to make the motor end and the load end move, wherein the angular speed of the movement of the motor end is omegaMAngular velocity of the load end motion is ωLWherein the actual torque value acting on the load end is taua. The processing device 140 calculates (by equation 4) the first control current u output by the torque controller based on the above parametersτThe second control current output by the speed deviation controller is calculated (by equation 6) as uvThe third control current output by the disturbance compensator is calculated (by equation 7) as us。
Step 440, the processing device 140 may determine an input current at the motor 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.
In some embodiments, the processing device 140 may determine a control current input to the motor end based on the control current output by each controller determined in the preceding steps, the motor outputting a torque based on the control current input to the motor end.
In some embodiments, when the first control current uτA second control current uvAnd a third control current usAfter the determination, the processing device 140 may calculate the input current u at the motor endout:
uout=a*uτ-b*uv-c*us+mout (8)
Wherein a is a first control current uτThe coefficient of (a); b is a second control current uvThe coefficient of (a); c is a third control current usThe coefficient of (a); m isoutAs the current offset, m isoutIs 0. In some embodiments, the value ranges of a, b, and c may include any constant, and for example, the values of a, b, and c may be 1.
FIG. 8 is an exemplary block diagram of a robotic arm control system according to some embodiments of the present disclosure. In one or more embodiments of the present description, as shown in fig. 8, a robot arm control system is also provided. In some embodiments, the robot control system 800 may be implemented by the robot control system 100 (e.g., the processing device 140) shown in FIG. 1.
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.
The first determination module 810, the first determination module 810 may be configured to determine a first control current output by the torque controller. In some embodiments, the first determination module 810 may also be configured to determine an actual torque value at the load end; acquiring a desired torque value input to the torque controller; determining the first control current based on the actual torque value of the load side and the desired torque value input to the torque controller. In some embodiments, the first determination module 810 may also be configured to obtain a voltage signal of the torque sensor; determining the actual torque value based on the voltage signal. In some embodiments, the first determining module 810 may be further configured to filter the voltage signal through the first filter based on a set first preset frequency range; determining the actual torque value based on the filtered voltage signal. In some embodiments, the first determination module 810 may also be configured to convert the filtered voltage signal into a torque value; determining zero drift amount, gravity compensation amount and sensitivity of the torque sensor; determining the actual torque value based on the zero drift amount, the gravity compensation amount, the sensitivity, and the 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, which is a machine learning model.
A second determination module 820, the second determination module 820 may be configured to determine a second control current output by the speed deviation controller. In some embodiments, the second determining module 820 may be configured to determine an angular velocity of the motor side and an angular velocity of the load side; acquiring the transmission ratio of the transmission device; determining the second control current based on the transmission ratio and the angular velocities of the motor side and the load side. In some embodiments, the second determining module 820 may be configured to obtain a first speed signal generated by the first encoder and associated with the angular velocity of the load side and a second speed signal generated by the second encoder and associated with the angular velocity of the motor side; determining an angular velocity of the load side and an angular velocity of the motor side based on the first velocity signal and the second velocity signal, respectively. In some embodiments, the second determining module 820 may be configured to filter 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; determining an angular velocity of the load side and an angular velocity of the motor side based on the filtered first velocity signal and the second velocity signal.
A third determination module 830, the third determination module 830 may be configured to determine a third control current output by the disturbance compensator. In some embodiments, the third determining module 830 may be further configured to determine an input current of the disturbance compensator, where the input current of the disturbance compensator is an input current at the motor end at the current time; determining the third output current based on the actual torque value, the transmission ratio, the angular acceleration at the motor end, and the input current of the disturbance compensator.
A fourth determining module 830, the fourth determining module 830 being configured to determine the input current at the motor terminal based on the first control current, the second control current and the third control current.
It should be understood that the system and its modules shown in FIG. 8 may be implemented in a variety of ways. For example, in some embodiments, the system and its modules may be implemented in hardware, software, or a combination of software and hardware. Wherein the hardware portion may be implemented using dedicated logic; the software portions may be stored in a memory for execution by a suitable instruction execution system, such as a microprocessor or specially designed hardware. Those skilled in the art will appreciate that the methods and systems described above may be implemented using computer executable instructions and/or embodied in processor control code, such code being provided, for example, on a carrier medium such as a diskette, 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 system and its modules in this specification may be implemented not only by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., but also by software executed by various types of processors, for example, or by a combination of the above hardware circuits and software (e.g., firmware).
It should be noted that the above description of the motion control system and its devices/modules is for convenience only and should not limit the present disclosure to the scope of the illustrated embodiments. It will be appreciated by those skilled in the art that, given the teachings of the present system, any combination of devices/modules or configuration of subsystems with other devices/modules may be implemented without departing from such teachings. For example, the first determining module 810, the second determining module 820, the third module 830 and the fourth determining module 840 disclosed in fig. 8 may be different modules in one apparatus (e.g., the processing device 140), or may be one module to implement the functions of two or more modules described above. For example, the first determining module 810 and the third determining module 830 may be two modules, or one module may have both functions of determining the first control current output by the torque controller and determining the third control current output by the disturbance compensator. For another example, each module may have its own storage module. As another example, the modules may share a memory module. Such variations are intended to be within the scope of the present disclosure.
The beneficial effects that may be brought by the embodiments of the present description include, but are not limited to: (1) the moment sensor arranged at the joint load end is adopted to directly measure the joint moment, so that the result is more accurate; (2) the disturbance compensator is added in the specification, and the control current is corrected in real time through the disturbance compensator, so that a better control effect is still achieved under the condition that the motor model parameters have deviation; (3) the speed measured by the encoders at the motor end and the load end is simultaneously acquired, and the speed deviation controller is used for compensating the control current, so that the smoothness of dragging control is improved; (4) the final output (control current) of the specification can be used as the input of a motor current feedback system, the requirement on a motor driver is low, only the motor driver supports the current control of the motor, and a high-grade driver with control functions of position, speed and the like is not needed; (5) the control current output by the combined torque controller, the speed deviation controller and the disturbance compensator jointly controls the output torque at the motor end, so that the torque output by the motor is more accurate, and the mechanical arm is more stably controlled. It is to be noted that different embodiments may produce different advantages, and in different embodiments, any one or combination of the above advantages may be produced, or any other advantages may be obtained.
Having thus described the basic concept, it will be apparent to those skilled in the art that the foregoing detailed disclosure is to be regarded as illustrative only and not as limiting the present specification. Various modifications, improvements and adaptations to the present description may occur to those skilled in the art, although not explicitly described herein. Such modifications, improvements and adaptations are proposed in the present specification and thus fall within the spirit and scope of the exemplary embodiments of the present specification.
Also, the description uses specific words to describe embodiments of the description. Reference throughout this specification to "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic described in connection with at least one embodiment of the specification is included. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, some features, structures, or characteristics of one or more embodiments of the specification may be combined as appropriate.
Additionally, the order in which the elements and sequences of the process are recited in the specification, the use of alphanumeric characters, or other designations, is not intended to limit the order in which the processes and methods of the specification occur, unless otherwise specified in the claims. While various presently contemplated embodiments of the invention have been discussed in the foregoing disclosure by way of example, it is to be understood that such detail is solely for that purpose and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover all modifications and equivalent arrangements that are within the spirit and scope of the embodiments herein. For example, although the system components described above may be implemented by hardware devices, they may also be implemented by software-only solutions, such as installing the described system on an existing server or mobile device.
Similarly, it should be noted that in the preceding description of embodiments of the present specification, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the embodiments. This method of disclosure, however, is not intended to imply that more features than are expressly recited in a claim. Indeed, the embodiments may be characterized as having less than all of the features of a single embodiment disclosed above.
Finally, it should be understood that the embodiments described herein are merely illustrative of the principles of the embodiments of the present disclosure. Other variations are also possible within the scope of the present description. Thus, by way of example, and not limitation, alternative configurations of the embodiments of the specification can be considered consistent with the teachings of the specification. Accordingly, the embodiments of the present description are not limited to only those embodiments explicitly described and depicted herein.
Claims (28)
1. The mechanical arm control method is characterized in that the mechanical arm comprises a joint, a torque controller, a speed deviation controller and a disturbance compensator, wherein the torque controller, the speed deviation controller and the disturbance compensator are in communication connection with the joint; the mechanical arm control method comprises the following steps:
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;
determining an input current at the motor terminal based on the first control current, the second control current, and the third control current.
2. The robot arm control method according to claim 1, characterized by passing uout=a*uτ-b*uv-c*us+moutDeriving an input current u at said motor terminalout(ii) a Wherein u isτIs the first control current uvIs the second control current usIs the third control current, moutA, b, and c are constants for the current offset.
3. The robot arm control method of claim 1, wherein the determining the first control current output by the torque controller comprises:
determining an actual moment value of the load end;
acquiring a desired torque value input to the torque controller;
determining the first control current based on the actual torque value of the load side and the desired torque value input to the torque controller.
4. A robot arm control method according to claim 3, characterized by passing uτ=Ki*∫(τcmd-τa)dt-Kp*τa+mτDeriving said first control current uτ(ii) a Wherein, KiIs the integral term coefficient, K, of the torque controllerpIs the proportional term coefficient, τ, of the torque controlleraIs the actual moment value of the load side, taucmdFor the desired torque value input to the torque controller, mτIs a constant.
5. A robot arm control method according to claim 3, wherein the robot arm further comprises a torque sensor provided at the load end; the determining the actual moment value of the load end comprises:
acquiring a voltage signal of the torque sensor;
determining the actual torque value based on the voltage signal.
6. The robot arm control method according to claim 5, wherein the robot arm further comprises a first filter; the determining the actual torque value based on the voltage signal comprises:
filtering the voltage signal based on a set first preset frequency range through the first filter;
determining the actual torque value based on the filtered voltage signal.
7. The robot arm control method of claim 6, wherein the determining the actual torque value based on the filtered voltage signal comprises:
converting the filtered voltage signal into a torque value;
determining zero drift amount, gravity compensation amount and sensitivity of the torque sensor;
determining the actual torque value based on the zero drift amount, the gravity compensation amount, the sensitivity, and the torque value of the torque sensor.
8. A method of controlling a robot arm as claimed in claim 7, characterized by passing τa=(U-Z0)*s-1-G+maObtaining the actual torque value taua(ii) a Wherein U is the filtered voltage signal, Z0Is the zero drift amount, s, of the torque sensor-1Is the inverse of the sensitivity s of the torque sensor, G is the gravity compensation quantity of the torque sensor, maIs a constant.
9. A robot arm control method as claimed in claim 3, wherein the determining a desired torque value for the torque controller comprises:
determining the desired torque value of the torque controller based on a desired torque determination model, the desired torque determination model being a machine learning model.
10. The method of controlling a robot arm of claim 1, further comprising driving a transmission connecting the motor side and the load side; the determining a second control current output by the speed deviation controller comprises:
determining an angular velocity of the motor side and an angular velocity of the load side;
acquiring the transmission ratio of the transmission device;
determining the second control current based on the transmission ratio and the angular velocities of the motor side and the load side.
11. The robot arm control method according to claim 10,
12. The robot arm control method according to claim 10, wherein the robot arm further comprises a first encoder provided at the load side and a second encoder provided at the motor side; the determining the angular velocity of the motor end and the angular velocity of the load end comprises:
acquiring a first speed signal generated by the first encoder and associated with the angular speed of the load side and a second speed signal generated by the second encoder and associated with the angular speed of the motor side;
determining an angular velocity of the load side and an angular velocity of the motor side based on the first velocity signal and the second velocity signal, respectively.
13. The robot arm control method according to claim 12, wherein the robot arm further comprises a second filter and a third filter; the determining the angular velocity of the load side and the angular velocity of the motor side based on the first velocity signal and the second velocity signal, respectively, comprises:
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;
determining an angular velocity of the load side and an angular velocity of the motor side based on the filtered first velocity signal and the second velocity signal.
14. The robot arm control method of claim 13, wherein the second preset frequency range is 300Hz to 800 Hz.
15. A method of controlling a robot arm as claimed in any of claims 12 to 14, wherein the first encoder is an absolute encoder and the second encoder is an incremental encoder.
16. The method of controlling a robot arm of claim 11, further comprising driving a transmission connecting the motor side and the load side; said determining an input current at the motor end based on the first control current, the second control current, and the third control current comprises:
determining the input current of the disturbance compensator, wherein the input current of the disturbance compensator is the input current of the motor terminal at the current moment;
determining the third output current based on the actual torque value, the transmission ratio, the angular acceleration at the motor end, and the input current of the disturbance compensator.
17. A method of controlling a robotic arm as claimed in claim 16, characterised by controlling the arm by Deriving said third output current us(ii) a Wherein u isoutFor the input current at the motor end at the present moment, JmIs the moment of inertia of the motor at the motor end, KtIs the current torque coefficient of the motor at the motor end,is the first derivative of the angular velocity at the motor end, tauaFor the actual torque value, R is the transmission ratio of the transmission, msIs a constant.
18. A mechanical arm control system is characterized in that the mechanical arm comprises a joint, a torque controller, a speed deviation controller and a disturbance compensator, wherein the torque controller, the speed deviation controller and the disturbance compensator are in communication connection with the joint; the robot arm control system includes:
a first determination module for determining a first control current output by the torque controller;
a second determination module for determining a second control current output by the speed deviation controller;
a third determination module to determine a third control current output by the disturbance compensator;
a fourth determination module to determine an input current at the motor terminal based on the first control current, the second control current, and the third control current.
19. A robotic arm, comprising:
the joint comprises a motor end and a load end in driving connection with the motor end;
the torque controller is in communication connection with the motor end and the load end, and is used for determining a first control current based on an input expected torque value and an actual torque value of the load end and feeding the first control current back to the motor end;
a speed deviation controller communicatively connected to the motor end and the load end, the speed deviation controller 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 back the second control current to the motor end;
the disturbance compensator is in communication connection with the motor end and the load end, and is used for determining a third control current based on the angular speed of the motor end, the actual moment value of the load end and the input current of the motor end at the current moment and feeding 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.
20. A robotic arm as claimed in claim 19, in which the joint further comprises a torque sensor provided at the load end for sensing the actual torque value at the load end and generating a voltage signal.
21. A robotic arm as claimed in claim 20, further comprising a first filter in communication with the torque sensor, the disturbance compensator and the torque controller, the first filter being configured to filter the voltage signal based on a set first predetermined frequency range.
22. A robotic arm as claimed in claim 21, further comprising an error compensation device in communication with the first filter, the disturbance compensator and the torque controller, the error compensation device being configured to perform zero drift compensation and gravity compensation on the torque value before converting the filtered voltage signal into the torque value for feedback to the disturbance compensator and the torque controller.
23. A robotic arm as claimed in claim 19, further comprising a first encoder disposed at the load end and a second encoder disposed at the motor end;
the first encoder is used for acquiring a first speed signal at the load end and feeding the first speed signal back to the speed deviation controller; the second encoder is used for acquiring a second speed signal at the motor end and feeding the second speed signal back to the disturbance compensator and the speed deviation controller.
24. A robotic arm as claimed in claim 23, further comprising a second filter in communication with the first encoder and the speed deviation controller, and a third filter in communication with the second encoder, the disturbance compensator, and the speed deviation controller;
the second filter is used for filtering 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 feeding the filtered first speed signal back to the speed deviation controller;
the third filter is used for filtering 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 feeding the filtered second speed signal back to the disturbance compensator and the speed deviation controller.
25. A robotic arm as claimed in claim 24, in which the second predetermined frequency range is 300Hz to 800 Hz.
26. A robotic arm as claimed in claim 23, in which the first encoder is an absolute encoder and the second encoder is an incremental encoder.
27. A robotic arm as claimed in claim 19, further comprising a transmission, the motor end being in driving connection with the load end via the transmission.
28. A robotic arm as claimed in claim 27, in which the transmission means comprises a harmonic reducer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154320.9A CN113664869A (en) | 2021-09-29 | 2021-09-29 | Mechanical arm, mechanical arm control method and mechanical arm control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154320.9A CN113664869A (en) | 2021-09-29 | 2021-09-29 | Mechanical arm, mechanical arm control method and mechanical arm control system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113664869A true CN113664869A (en) | 2021-11-19 |
Family
ID=78550446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111154320.9A Pending CN113664869A (en) | 2021-09-29 | 2021-09-29 | Mechanical arm, mechanical arm control method and mechanical arm control system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113664869A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114571470A (en) * | 2022-05-05 | 2022-06-03 | 季华实验室 | Compensation result optimization method and device, electronic equipment and storage medium |
CN115674190A (en) * | 2022-09-30 | 2023-02-03 | 深圳市越疆科技有限公司 | Cooperative mechanical arm and motion control method, collision detection method and control system thereof |
-
2021
- 2021-09-29 CN CN202111154320.9A patent/CN113664869A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114571470A (en) * | 2022-05-05 | 2022-06-03 | 季华实验室 | Compensation result optimization method and device, electronic equipment and storage medium |
CN115674190A (en) * | 2022-09-30 | 2023-02-03 | 深圳市越疆科技有限公司 | Cooperative mechanical arm and motion control method, collision detection method and control system thereof |
CN115674190B (en) * | 2022-09-30 | 2024-05-07 | 深圳市越疆科技股份有限公司 | Cooperative mechanical arm and motion control method, collision detection method and control system thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106994686B (en) | The computational methods and device, robot of joint external force torque | |
CN113664869A (en) | Mechanical arm, mechanical arm control method and mechanical arm control system | |
JP5327722B2 (en) | Robot load estimation apparatus and load estimation method | |
CN110832422B (en) | Machine learning device, correction parameter adjustment device, and machine learning method | |
CN104589304A (en) | Robot control device and robot | |
US9796087B2 (en) | Control system for power unit | |
CN110460277A (en) | Single motor servo system friction non-linear compensation method based on particle swarm algorithm | |
WO2015083417A1 (en) | Friction identification method and friction identification device | |
CN109434873B (en) | Method for measuring torque constant of robot joint servo motor | |
CN102577096A (en) | Servo control apparatus | |
CN103853099A (en) | SERVO CONTROL device WITH POSITION COMPENSATION FUNCTION FOR DRIVEN MEMBER | |
CN111347421A (en) | Method and apparatus for torque estimation | |
US20160016310A1 (en) | Notch filter, external force estimator, motor control apparatus, and robotic system | |
CN215825344U (en) | Mechanical arm | |
WO2014091840A1 (en) | Servo control device | |
CN111730594A (en) | Decentralized control method and system for face-to-face collision of modular robot | |
Dimeas et al. | Admittance neuro-control of a lifting device to reduce human effort | |
JPH10128688A (en) | Non-interfering control method of robot | |
JP2000148210A (en) | Gain calculating device | |
CN113711138B (en) | Servo control device | |
CN113031442A (en) | Modularized mechanical arm dispersed robust fault-tolerant control method and system | |
CN114734437A (en) | Robot joint control method and device | |
US9199377B2 (en) | Method and system for extracting intended torque for wearable robot | |
CN113043269B (en) | Robot contact force observation system based on robot model | |
JP2005212054A (en) | Force detecting method, force detector, and control device equipped with force detecting function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |