[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2018209860A1 - 解耦控制方法、装置、机器人及存储介质 - Google Patents

解耦控制方法、装置、机器人及存储介质 Download PDF

Info

Publication number
WO2018209860A1
WO2018209860A1 PCT/CN2017/103261 CN2017103261W WO2018209860A1 WO 2018209860 A1 WO2018209860 A1 WO 2018209860A1 CN 2017103261 W CN2017103261 W CN 2017103261W WO 2018209860 A1 WO2018209860 A1 WO 2018209860A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion control
vector
torque
parameter
control object
Prior art date
Application number
PCT/CN2017/103261
Other languages
English (en)
French (fr)
Inventor
阳方平
Original Assignee
广州视源电子科技股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 广州视源电子科技股份有限公司 filed Critical 广州视源电子科技股份有限公司
Publication of WO2018209860A1 publication Critical patent/WO2018209860A1/zh

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance

Definitions

  • the present invention relates to the field of robot control technologies, and in particular, to a decoupling control method, apparatus, robot, and storage medium.
  • the robotic arm is a mechatronic device that mimics the functions of the human arm, wrist, and hand. It can move any object or tool according to the time-varying requirements of spatial pose (position and attitude) to complete the requirements of an industrial production operation.
  • a typical robotic arm consists of a series of joints and links that are connected in series, each joint having a degree of freedom that can be translated or rotated.
  • the mechanical arm is a multi-input and multi-output dynamic system. Therefore, in the practical application, the mechanical arm will have mutual influence and coupling effect, that is, the input signal of each control loop in the dynamic system will have an influence on the output of all the loops, and the output of each loop will be Subject to all inputs. In view of this, decoupling has become a technical problem that needs to be solved in the application of the robot arm.
  • Existing mechanical arm decoupling methods generally include: a calculation torque method, an adaptive control method, and a sliding mode control method.
  • the calculation of the torque method requires an accurate dynamic model, and requires a lot of real-time calculations.
  • the adaptive control method considers the variability of the model parameters, and then adaptively controls the dynamic model according to the variability.
  • the adaptive control method still requires a large amount of calculation.
  • the sliding mode control method does not require an accurate dynamic model and is robust to changes in the parameters of the load disturbance, but the sliding mode control method causes the chatter of the robot arm.
  • the existing mechanical arm decoupling method can not easily and effectively achieve the decoupling of the mechanical arm.
  • the embodiments of the present invention provide a decoupling control method, apparatus, robot, and storage medium to optimize the existing mechanical arm decoupling method, and implement decoupling of the mechanical arm simply and effectively.
  • an embodiment of the present invention provides a decoupling control method, including:
  • Each value in the torque vector is used as a torque output value of a corresponding motion control sub-object in the motion control object.
  • an embodiment of the present invention further provides a decoupling control apparatus, including:
  • a parameter acquisition module configured to acquire an inertia matrix of the motion control object, a system parameter, and an operation parameter at a current time in the running process
  • a diagonal matrix determining module configured to determine a corresponding diagonal matrix according to the inertia matrix
  • control torque determining module configured to determine a control torque vector of the motion control object according to the diagonal matrix, the system parameter, and the operating parameter;
  • a torque compensation determining module configured to determine the motion according to the operating parameter and the diagonal matrix Controlling the torque compensation vector of the object
  • a torque vector determining module configured to determine a torque vector of the current moment of the motion control object according to the control torque vector and the torque compensation vector;
  • the output value determining module is configured to use each value in the torque vector as a torque output value of a corresponding motion control sub-object in the motion control object.
  • an embodiment of the present invention further provides a robot, including:
  • One or more processors are One or more processors;
  • a storage device for storing one or more programs
  • the one or more processors When the one or more programs are executed by the one or more processors, the one or more processors implement the decoupling control method as described in the first aspect.
  • an embodiment of the present invention further provides a storage medium containing computer executable instructions for performing the decoupling control method as described in the first aspect when executed by a computer processor.
  • the decoupling control method, device, robot and storage medium provided above determine the control torque vector and the corresponding torque compensation vector by acquiring the inertia matrix of the motion control object, the system parameters, and the operating parameters at the current time in the running process to obtain motion control.
  • the technical solution of the final torque output value of each motion control sub-object in the object realizes the simple and effective decoupling of the motion control object. At the same time, without guaranteeing the decoupling accuracy, it is not necessary to construct a complex decoupling model. A good decoupling effect can be achieved with a simple calculation.
  • FIG. 1a is a flowchart of a decoupling control method according to Embodiment 1 of the present invention.
  • Figure 1b is a schematic view showing the structure of a robot mounted with a motion control object
  • FIG. 2a is a flowchart of a decoupling control method according to Embodiment 2 of the present invention.
  • Figure 2b is a flow chart of a method of determining a control input vector
  • Figure 2c is a flow chart of the motion planning method
  • Figure 2d is a flow chart of a method of determining a control torque vector
  • 2e is a schematic diagram of an algorithm of a decoupling control method
  • Figure 2f is a flow chart of the decoupling control method
  • FIG. 3 is a schematic structural diagram of a decoupling control apparatus according to Embodiment 3 of the present invention.
  • FIG. 4 is a schematic structural diagram of a robot according to Embodiment 4 of the present invention.
  • FIG. 1a is a flowchart of a decoupling control method according to Embodiment 1 of the present invention.
  • the decoupling control method provided by the embodiment is suitable for decoupling a motion control object during a motion control object operation.
  • the decoupling control method provided by this embodiment may be performed by a decoupling control device, which may be implemented by software and/or hardware and integrated in a robot equipped with a motion control object.
  • the robot refers to a machine device that can automatically perform work. It can accept human command, run pre-programmed procedures, or act on principles that are based on artificial intelligence techniques. For example, mobile forklifts and equipment with robotic arms are all robots.
  • the dynamic equation of the motion control object can be expressed as:
  • ⁇ 1 represents the torque output by the motion control object in an ideal state.
  • represents the generalized coordinates of the kinetic energy and potential energy of the motion control object, and may also be referred to as the position vector of the motion control object.
  • Is the velocity vector corresponding to ⁇ Is the acceleration vector corresponding to ⁇ .
  • D( ⁇ ) is an inertia matrix whose dimensions are related to the number of motion control sub-objects. It is a centrifugal force and a Coriolis force vector whose dimensions are also related to the number of motion control sub-objects.
  • G( ⁇ ) is a gravity vector whose dimensions are also related to the number of motion control sub-objects.
  • a decoupling control method provided by this embodiment specifically includes:
  • the motion control object includes at least two movable motion control sub-objects, each of which is configured with a corresponding drive motor.
  • the corresponding motion control sub-object is composed of a joint and a corresponding link, and each joint is configured with a drive motor to control its translation or rotation.
  • FIG. 1b is a schematic structural view of a robot mounted with a motion control object, which specifically includes a host computer 11, a driver 12, and a motion control object 13.
  • the host computer 11 may specifically include at least one process.
  • a storage device for performing the decoupling control method provided by the embodiment, and the driver 12 and the motion control object 13 may be collectively referred to as a motion control device.
  • the host computer 11 is installed with a real-time Linux operating system and can communicate with the driver 12 through a network port using a real-time industrial fieldbus protocol.
  • the real-time industrial fieldbus protocol may include a high-level communication protocol (also referred to as CANOpen) or an Ethernet control automation technology (also called EtherCAT) protocol, which is controlled on a Controller Area Network (CAN).
  • CAN Controller Area Network
  • the driver 12 is connected to the upper computer 11 by a bus for controlling the movement of the motion control object 13 according to the torque output value determined by the upper computer 11.
  • the driver 12 and the motion control object 13 may be a bus connection or an electrical connection, and the electrical connection is shown in FIG. 1b.
  • the movement of the motion control object 13 by the driver 12 means that the motor controlling the corresponding motion control sub-object is operated.
  • the motion control object 13 further includes an encoder (not shown) that can read parameters such as the operating angle and speed of the motor and send the generated encoded data to the driver 12.
  • the driver 12 measures the reading of the encoder and performs conversion, and feeds the converted result to the host computer 11 through the bus.
  • the measurement parameters (operating parameters) obtained by measurement involved in the process of the following embodiments can be understood as data measured by an encoder. It should be noted that the above-described robot is for explanation only, and is not intended to limit the robot to which the motion control object is mounted in the embodiment.
  • a Denavit-Hartenberg (DH) coordinate system is established for the motion control object, and position data of each motion control sub-object is determined according to the coordinate system, thereby determining a pose matrix of the motion control object.
  • the pose matrix generally refers to the position of each of the control control sub-object joints in the DH coordinate system.
  • the inertia matrix may also be referred to as an inertia matrix, which is determined according to the mass, centroid position, and inertia tensor of each motion control sub-object.
  • an inertia matrix which is determined according to the mass, centroid position, and inertia tensor of each motion control sub-object.
  • the corresponding centroid position and inertia tensor will also change, which will cause the specific value of the inertia matrix to change accordingly.
  • the system parameters are generally constant, which can be set according to the actual situation, and there is no fixed range of values.
  • the corresponding calculation model can be preset to implement parameter calculation.
  • the fixed parameters used in the calculation of the calculation model can be called system parameters.
  • the calculation model is preferably a control input model, which is specifically used to determine the control input vector.
  • the running parameter refers to the physical quantity obtained by the motion control object during the running or moving process. It includes, but is not limited to, the running time, the position of the motion control object, the angular velocity of the motion control object, and the torque parameter of the motion control object.
  • the position of the motion control object refers to the angle at which the motor of each motion control sub-object operates, and the angular velocity of the motion control object refers to the angular velocity of the motor operation of each motion control sub-object.
  • the operating parameters are usually represented in vector form, with each parameter in the vector corresponding to a related parameter of a motion control sub-object. In general, the operating parameters can be obtained by the encoder.
  • the sampling period is preset, and the foregoing data is acquired according to the sampling period interval.
  • the inertia matrix is a diagonally symmetric matrix.
  • the eigenvalues of the inertia matrix may be calculated, and the eigenvalues of the inertia matrix are taken as the values on the diagonal of the diagonal matrix. Assuming a total of N motion control sub-objects, then there are a total of N eigenvalues as values on the diagonal in the diagonal matrix.
  • the control torque vector can be understood as the torque that the motor of each motion control sub-object calculated according to the inertia matrix, system parameters and operating parameters should output, that is, the motor control parameters.
  • control input model may be preset, wherein when the control input model calculates the control input vector, the input quantity is an operation parameter, and the model parameter is a system parameter.
  • the control input model may adopt a control adjustment mode such as proportional integral control, proportional control or proportional differential control.
  • proportional integral control is employed.
  • control input vector After determining the control input vector, the control input vector is multiplied with the diagonal matrix to obtain a control torque vector.
  • the dimensions of the control torque vector and the control input vector are the same as the number of motion control sub-objects.
  • the torque compensation vector can be understood as a compensation parameter determined according to the actual torque currently output by the motion control object, and the control torque vector is compensated according to the compensation parameter to ensure the accuracy of the final output torque vector.
  • the torque compensation vector may be determined by combining the current torque parameter actually outputted in the running parameter with the current angular acceleration of each motion control sub-object at the current time and the diagonal matrix. Specifically, the diagonal matrix and the current angular acceleration are multiplied, and the current torque parameter is compared with the multiplication calculation result to obtain a torque compensation vector.
  • the torque compensation vector dimension is the same as the number of motion control sub-objects.
  • control torque vector and the torque compensation vector are added to obtain a moment vector of the current moment of the motion control object.
  • the moment vector can also be understood as the result of torque compensation for the control torque vector.
  • the moment vector dimension is the same as the number of motion control sub-objects.
  • the torque vector After determining the torque vector, the torque vector is sent to the driver through the bus, so that the driver controls the motor of each motion control sub-object to operate according to the torque vector.
  • each specific value in the torque vector corresponds to the torque output value of a motion control sub-object.
  • the motion control sub-object is moved according to the torque vector, if the motion control object does not stop moving, continue to use the next sampling moment as the current sampling moment, and return to S110 to re-determine the moment of the next sampling moment. Vector until the motion control object stops moving.
  • the technical solution provided by the embodiment obtains the control torque vector and the corresponding torque compensation vector by acquiring the inertia matrix of the motion control object, the system parameter, and the current running parameter in the running process, so as to obtain each motion control sub-object in the motion control object.
  • the technical solution of the final torque output value realizes the simple and effective decoupling of the motion control object. At the same time, under the premise of ensuring the decoupling accuracy, it is not necessary to construct a complex decoupling model, and only a simple calculation is required. Achieve good decoupling effect.
  • FIG. 2a is a flowchart of a decoupling control method according to Embodiment 2 of the present invention. This embodiment is embodied on the basis of the above embodiment. Specifically, referring to FIG. 2a, the decoupling control method provided in this embodiment specifically includes:
  • S220 Perform singular value decomposition on the inertia matrix to obtain a diagonal matrix.
  • D' is a unitary matrix corresponding to D. According to formula (2), it can be calculated At this time, the value on the diagonal of the diagonal matrix is the eigenvalue obtained by the singular value decomposition.
  • the control input model uses proportional integral control, that is, a proportional input (Proportion Integration, PI) regulator is used to determine the control input vector.
  • PI proportional input
  • the PI regulator can implement the integral control on the basis of the proportional control to eliminate the control deviation, and is especially suitable for the scene with high control precision requirements, such as the decoupled scene in this embodiment.
  • the system parameters include: a proportional parameter and an integral parameter in the PI regulator, and the specific values thereof may be set according to actual conditions.
  • the method for determining the control input vector is as follows:
  • the target operating parameter may also be referred to as an ideal operating parameter, which indicates the operating state that the motion control object should arrive at the current time in the ideal state.
  • an ideal operating parameter indicates the operating state that the motion control object should arrive at the current time in the ideal state.
  • Motion planning can also be understood as planning the operation of the motors of the motion control object.
  • the target running parameter is represented in a vector form, and its dimension is the same as the number of motion control sub-objects.
  • the fifth-order polynomial method is selected for motion planning.
  • the motion planning method based on the fifth-order polynomial method is exemplarily described.
  • the motion planning method provided in this embodiment specifically includes S290-S2100:
  • the power planning process of the fifth-order polynomial method can be expressed as:
  • a 0 , a 1 , a 2 , a 3 , a 4 and a 5 are planning coefficients
  • t is the current running time of the motion control object
  • S(t) is the power planning result at time t. It can be known from the above formula that if the motion planning result of the motion control object is to be determined, the specific value of the planning coefficient needs to be specified, and the specific value of the planning coefficient can be determined according to the initial parameter. Accordingly, it is necessary to obtain an initial parameter of the initial running time of the motion control object to determine the planning coefficient according to the initial parameter.
  • the initial parameters include: a sampling period, an initial position of the actual running of the motion control object at the initial running time, an initial angular velocity, and an initial angular acceleration, and the initial parameters further include: an ideal initial state of the target that the motion control object expects to reach at the initial running time. Position, target initial angular velocity, and target initial angular acceleration.
  • the sampling period is a sampling interval of each parameter in the movement process of the motion control object.
  • position parameters initial position, target initial position, target position, and position of motion control object
  • position parameters initial position, target initial position, target position, and position of motion control object
  • the angular velocity parameters initial angular velocity, target initial angular velocity, target angular velocity, and angular velocity of the motion control object
  • the operating angular velocity of each motion control sub-object motor can be understood as the operating angular velocity of each motion control sub-object motor
  • the angular acceleration parameter is similar to the angular velocity parameter, and will not be described herein.
  • S2100 Perform motion planning on the motion control object according to the initial parameter, to determine a target operation parameter corresponding to the operation time according to the motion planning result.
  • the planning coefficients in equation (3) are determined based on the initial parameters.
  • the sampling period T the initial position ⁇ (0), and the initial angular velocity are set.
  • Initial angular acceleration Target initial position ⁇ 0 , target initial angular velocity And the initial angular acceleration of the target Then you can get:
  • ⁇ 1 (t) a 0 +a 1 t+a 2 t 2 +a 3 t 3 +a 4 t 4 +a 5 t 5 (5)
  • equations (5), (6), and (7) are motion planning formulas of a motion control sub-object.
  • the motion planning formula of all motion control sub-objects can be constructed.
  • each initial parameter can be represented and calculated in a vector form, and each value in the vector corresponds to a motion control sub-object. Taking the initial position as an example, each value in the corresponding vector corresponds to a motion controller. The initial position of the object. The advantage of this is that the motion planning results for all motion control sub-objects can be obtained with only one motion planning.
  • At least one motion planning formula may be selectively constructed in the equations (5), (6), and (7) according to actual conditions, and determined according to the constructed motion planning formula.
  • the target operating parameter corresponding to the running time, the target operating parameter includes at least one of a target position, a target angular velocity, and a target angular acceleration.
  • the system parameters include: a proportional parameter and an integral parameter.
  • the operating parameters include: a running time, a position of the motion control object, and an angular velocity of the motion control object, and the target operating parameters include: a target position, a target angular velocity, and a target angular acceleration.
  • ⁇ 1 (t) The target position, the target angular velocity, and the target angular acceleration corresponding to the motion control object are respectively indicated by the running time t, which can be determined by the motion planning result, and are all in the form of a vector.
  • ⁇ '(t) and The position of the motion control object corresponding to the running time t and the angular velocity of the motion control object are respectively indicated, which can be determined by the driver reading the data of the encoder, and are all in the form of a vector.
  • ⁇ 1 (t) Take ⁇ 1 (t) as an example, where each value represents the target position of a motion control sub-object at time t.
  • K p1 and K p2 are proportional parameters
  • K i1 and K i2 are integral parameters
  • K p1 , K p2 , K i1 and K i2 are diagonal matrices whose dimensions are related to the number of motion control sub-objects. For example, if the number of motion control sub-objects is set to 5, then the dimensions of the system parameters are both 5 ⁇ 5.
  • control input model in this embodiment specifically includes two proportional integral links. One for the target position and the position of the motion control object, and the other for the target angular velocity and the angular velocity of the motion control object, thus ensuring the accuracy of the resulting control input vector.
  • the calculation result is filtered by the low-pass filter after the multiplication calculation to suppress the high-frequency chatter.
  • the step specifically includes:
  • setting C indicates the result of the multiplication operation, ie
  • the result obtained by the multiplication operation is used as an input of the low-pass filter, and the result obtained by the filtering is used as a control torque vector.
  • a first-order low-pass filter is taken as an example for description:
  • the filtering formula of the first-order low-pass filter is:
  • is the cutoff frequency
  • s is the independent variable
  • F(s) is the Laplace transform
  • T' is the sampling frequency of the first-order low-pass filter, which may be the same as the sampling period of the operating parameter, or may be different from the sampling period of the operating parameter
  • X(t) is the input of the current moment of the first-order low-pass filter.
  • the signal, that is, C, t is the current time
  • is the first-order low-pass filter.
  • the cutoff frequency, Y(t) is the output signal of the current time, that is, the control torque vector, denoted as C'.
  • the position and angular velocity of the current motion control object can be directly measured, and the corresponding current angular acceleration needs to be calculated.
  • the calculated current angular acceleration is also in the form of a vector, and the dimension is the same as the number of motion control sub-objects.
  • the motion planning method is used to determine the target angular acceleration at the current time, and the actual angular acceleration calculated by the running parameter is corrected according to the target angular acceleration to obtain the final Current angular acceleration.
  • the position ⁇ '(t) of the motion control object corresponding to the operation time t or the angular velocity of the motion control object Calculate the angular acceleration using the differential calculation method as the actual angular acceleration
  • T is the sampling period
  • ⁇ '(t) is the position of the motion control object
  • t is the running time
  • ⁇ '(tT) is the position of the motion control object corresponding to the historical time corresponding to the previous sampling period of the current time
  • ⁇ ' (t-2T) is the position of the motion control object based on the history time corresponding to the first two sampling periods of the current time.
  • T is the sampling period
  • t is the running time
  • the angular velocity of the object is controlled for motion based on the historical time corresponding to the previous sampling period of the current time.
  • the low-pass filter may be a first-order low-pass filter, and the specific filtering manner is the same as the filtering method mentioned in S242, and details are not described herein.
  • R t is the first variance value, which can be determined by the analysis result of the actual angular acceleration of the history.
  • Can be recorded as Q t is the second variance value, which can be set according to the control effect that the motion control object expects to achieve during operation.
  • the smaller the Q t the more precise the control of the motion control object while the motion control object is running.
  • R t is greater than Q t Confidence is higher than Confidence.
  • setting R t is greater than Q t can guarantee the final result more precise.
  • is a proportional coefficient, which may also be referred to as a distribution average, which can be obtained by calculation.
  • R t is the first variance value
  • Q t is the second variance value
  • t is the current time
  • the accurate current angular acceleration can be calculated, and the influence of the measurement error generated by the operation parameter measurement on the calculated angular acceleration is reduced.
  • ⁇ 1 is the current torque parameter in the operating parameters, which can be directly measured.
  • ⁇ 1 is the current torque parameter in the operating parameters, which can be directly measured.
  • the control torque vector C' is added to the torque compensation vector.
  • the torque output value ⁇ can be obtained. That is, after torque compensation for C', the torque vector ⁇ that should actually be output can be determined.
  • the process of calculating the control torque vector may be referred to as a first process. Since it determines the torque that the motor should output, and the motor is preferably a servo motor, the process may also be referred to as a servo.
  • the control process refers to the process of calculating the torque compensation vector as the second process. Since it calculates the torque compensation value and is used to correct the control torque vector, the process can also be called the auxiliary motion process. That is, the decoupling control method in this embodiment can be implemented only by the above two processes.
  • FIG. 2e is an algorithm diagram of a decoupling control method
  • FIG. 2f is a flowchart of a decoupling control method.
  • the decoupling control method provided by this embodiment is exemplarily illustrated in conjunction with FIG. 2e and FIG. 2f:
  • the motion control object is a robot arm.
  • the initial parameters of the mechanical arm are acquired, and the motion planning formula is constructed by using the motion planning method, which is specifically the formula (5), the formula (6), and the formula (7).
  • the target position ⁇ 1 (t) at time t and the target angular velocity are determined.
  • target angular acceleration During the operation of the arm, the inertia matrix, system parameters and operating parameters of the current time t of the arm are obtained according to the sampling interval T and the interval.
  • control input vector u is solved by the equation (8) through two proportional integral links. Calculation The calculated result is used as the input of the low-pass filter, and the control torque vector is obtained by using equation (10).
  • the measured angular position ⁇ '(t) of the operating parameters is subjected to differential calculation (see equation (11)) and low-pass filter (see equation (10)) to obtain the actual angular acceleration. And After delaying one sample period The current angular acceleration is obtained by a Bayesian filter (see equation (14)) Then, use equation (15) to solve the torque compensation vector. Then, the torque vector ⁇ is obtained by solving the equation (16). The specific value in ⁇ is used as the torque output value of the motor of the corresponding joint in the robot arm to achieve decoupling when each motor is running.
  • the technical solution provided in this embodiment obtains a diagonal matrix by performing singular value decomposition on the acquired inertia matrix, and determines a control input vector according to the acquired system parameters and operating parameters, further The control torque vector and the torque compensation vector are obtained, and then the technical scheme of the actual output torque vector is obtained, and the model parameters of the motion control object are not required to be accurately obtained. Only the singular value decomposition of the inertia matrix is needed to determine the diagonal matrix, and then the The decoupling of the diagonal matrix, system parameters and operating parameters reduces the computational complexity and makes the decoupling process easy to implement. At the same time, when determining the control input vector, the two proportional integral links are used to ensure the accuracy of the control input vector, and the low-pass filter is used to effectively suppress the high-frequency chatter.
  • FIG. 3 is a schematic structural diagram of a decoupling control apparatus according to Embodiment 3 of the present invention.
  • the decoupling control device provided in this embodiment specifically includes: a parameter obtaining module 301, a diagonal matrix determining module 302, a control torque determining module 303, a torque compensation determining module 304, a torque vector determining module 305, and an output value determining module 306.
  • the parameter obtaining module 301 is configured to acquire an inertia matrix of the motion control object, a system parameter, and an operation parameter of the current time in the running process;
  • the diagonal matrix determining module 302 is configured to determine a corresponding diagonal matrix according to the inertia matrix;
  • a determining module 303 configured to determine a control torque vector of the motion control object according to the diagonal matrix, the system parameter, and the operating parameter;
  • the torque compensation determining module 304 is configured to determine a torque compensation vector of the motion control object according to the operating parameter and the diagonal matrix;
  • the vector determining module 305 is configured to determine a torque vector of a current moment of the motion control object according to the control torque vector and the torque compensation vector, and the output value determining module 306 is configured to use each value in the torque vector as a corresponding motion control sub-object in the motion control object. Torque output value.
  • the technical solution provided by the embodiment obtains the control torque vector and the corresponding torque compensation vector by acquiring the inertia matrix of the motion control object, the system parameter, and the current running parameter in the running process, so as to obtain each motion control sub-object in the motion control object.
  • the technical solution of the final torque output value, A simple and effective decoupling of the motion control object is realized.
  • the diagonal matrix determining module 302 is specifically configured to: perform singular value decomposition on the inertia matrix to obtain a diagonal matrix, and the value of the diagonal value in the diagonal matrix is obtained by singular value decomposition.
  • control torque determining module 303 includes: a control input determining unit, configured to determine a control input vector of the motion control object according to the system parameter and the operating parameter; and a multiplication unit for the diagonal matrix and the control input vector Do the multiplication to get the control torque vector.
  • control input determining unit specifically includes: a target parameter determining subunit, configured to determine a target operating parameter of the motion control object at the current time according to the running time in the operating parameter; and control the input vector determining subunit, A control input vector for determining a motion control object according to a target operation parameter, an operation parameter, and a system parameter, wherein the system parameter includes: a proportional parameter and an integration parameter, and the operation parameter includes: a running time, a position of the motion control object, and a motion control object. Angular velocity.
  • the method further includes: an initial parameter obtaining module, configured to acquire an initial parameter of an initial running time of the motion control object before acquiring an inertia matrix of the motion control object, a system parameter, and an operating parameter of the current time in the running process.
  • the motion planning module is configured to perform motion planning on the motion control object according to the initial parameter, to determine a target operating parameter corresponding to the running time according to the motion planning result.
  • the multiplication unit specifically includes: a multiplication subunit for multiplying the diagonal matrix and the control input vector; and a filtering subunit for using the result of the multiplication operation as an input of the low pass filter And the result obtained after filtering is used as the control torque vector.
  • the torque compensation determining module 304 specifically includes: an angular acceleration determining unit configured to determine a current angular acceleration of the motion control object according to the operating parameter; and a compensation determining unit configured to determine the current angular acceleration and the operating parameter.
  • the current torque parameter and the diagonal matrix determine the torque compensation vector of the motion control object.
  • the decoupling control device provided in this embodiment may be used to perform the decoupling control method provided by any of the foregoing embodiments, and has corresponding functions and beneficial effects.
  • the robot includes a processor 40, a memory 41, an input device 42, an output device 43, and a motion control device 44.
  • the number of 40 may be one or more, and one processor 40 is taken as an example in FIG. 4; the processor 40, the memory 41, the input device 42, the output device 43, and the motion control device 44 in the robot may be connected by a bus or other means. In Fig. 4, a bus connection is taken as an example.
  • the processor 40 implements the decoupling control method in the embodiment of the present invention when the program is executed.
  • the processor 40 and the memory 41 may be collectively referred to as a host computer.
  • the motion control device 44 is configured to move according to a torque vector determined by the decoupling control method, and includes a motion control object and a driver for driving the motion control object to move, wherein the driver is electrically connected to the motion control object, and the motion control object includes at least two motions
  • the sub-objects are controlled, and each motion control sub-object has a motor that can be operated.
  • the memory 41 is used as a computer readable storage medium, and can be used to store a software program, a computer executable program, and a module, such as a program instruction/module corresponding to the decoupling control method in the embodiment of the present invention (for example, in a decoupling control device)
  • the processor 40 runs the software programs, instructions, and modules stored in the memory 41. The block, thereby performing various functional applications of the robot and data processing, implements the above-described decoupling control method.
  • the memory 41 may mainly include a storage program area and an storage data area, wherein the storage program area may store an operating system, an application required for at least one function; the storage data area may store data created according to usage of the robot, and the like. Further, the memory 41 may include a high speed random access memory, and may also include a nonvolatile memory such as at least one magnetic disk storage device, flash memory device, or other nonvolatile solid state storage device. In some examples, memory 41 may further include memory remotely located relative to processor 40, which may be connected to the robot via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • Input device 42 can be used to receive input numeric or character information and to generate key signal inputs related to user settings and function control of the robot.
  • the output device 43 may include a display device such as a display screen.
  • the robot provided in this embodiment can be used to perform the decoupling control method provided by any of the foregoing embodiments, and has corresponding functions and beneficial effects.
  • Embodiment 5 of the present invention further provides a storage medium including computer executable instructions for executing a decoupling control method when executed by a computer processor, the decoupling control method comprising:
  • the values in the torque vector are used as the torque output values of the corresponding motion control sub-objects in the motion control object.
  • the computer executable instructions are not limited to the decoupling control method operations as described above, and may also perform decoupling provided by any embodiment of the present invention. Control the related operations in the method, and have the corresponding functions and benefits.
  • the present invention can be implemented by software and necessary general hardware, and can also be implemented by hardware, but in many cases, the former is a better implementation. .
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product, which may be stored in a computer readable storage medium, such as a floppy disk of a computer.
  • ROM read-only memory
  • RAM random access memory
  • FLASH flash memory
  • hard disk or optical disk etc.
  • a computer device can be a robot, A personal computer, server, or network device, etc. performs the decoupling control method described in various embodiments of the present invention.
  • each unit and module included is only divided according to functional logic, but is not limited to the above division, as long as the corresponding function can be implemented;
  • the specific names of the respective functional units are also for convenience of distinguishing from each other and are not intended to limit the scope of protection of the present invention.
  • portions of the invention may be implemented in hardware, software, firmware or a combination thereof.
  • multiple steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system.
  • a suitable instruction execution system For example, if implemented in hardware, and in another implementation As in the formula, it can be implemented by any one of the following techniques known in the art or a combination thereof: a discrete logic circuit having logic gates for implementing logic functions on data signals, dedicated to suitable combinational logic gates Integrated circuits, programmable gate arrays (PGAs), field programmable gate arrays (FPGAs), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Feedback Control In General (AREA)

Abstract

一种解耦控制方法、装置、机器人及存储介质。解耦控制方法包括:获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数(S110);根据惯量矩阵确定对应的对角矩阵(S120);根据对角矩阵、系统参数以及运行参数确定运动控制对象的控制力矩向量(S130);根据运行参数和对角矩阵确定运动控制对象的力矩补偿向量(S140);根据控制力矩向量和力矩补偿向量确定运动控制对象当前时刻的力矩向量(S150);将力矩向量中各数值作为运动控制对象中对应运动控制子对象的力矩输出值(S160)。可以优化现有的解耦方法,简单有效的实现对运动控制对象的解耦。

Description

解耦控制方法、装置、机器人及存储介质 技术领域
本发明涉及机器人控制技术领域,尤其涉及一种解耦控制方法、装置、机器人及存储介质。
背景技术
机械臂是一种模拟人手臂、手腕以及手功能的机械电子装置。它可以将任一物件或工具按空间位姿(位置和姿态)的时变要求进行移动,从而完成某一工业生产的作业要求。典型的机械臂是由一些串行连接的关节和连杆组成,每个关节具有一个自由度,可以平移或旋转。由此可见,机械臂是一种多输入多输出的动力学系统。因此,机械臂在实际应用中各关节之间会造成相互影响,产生耦合作用,即动力学系统中每一个控制回路的输入信号对所有回路的输出都会有影响,而每一个回路的输出又会受到所有输入的作用。有鉴于此,解耦已经成了机械臂应用中亟需解决的技术问题。
现有的机械臂解耦方法通常包括:计算力矩法、自适应控制方法以及滑模控制方法。其中,计算力矩法要求精确的动力学模型,且需要大量实时的计算,由于机械臂的机械结构非常复杂,因此很难导出精确的数学模型表达式。自适应控制方法考虑了模型参数的变化性,进而根据变化性自适应控制动力学模型,然而自适应控制方法仍然需要很大的计算量。滑模控制方法无需精确的动力学模型,并且对负载扰动的参数变化鲁棒性强,但是滑模控制方法会引起机械臂的震颤。综上,现有的机械臂解耦方法都不能简单有效的实现对机械臂的解耦。
发明内容
有鉴于此,本发明实施例提供一种解耦控制方法、装置、机器人及存储介质,以优化现有机械臂解耦方法,简单有效的实现对机械臂的解耦。
第一方面,本发明实施例提供了一种解耦控制方法,包括:
获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数;
根据所述惯量矩阵确定对应的对角矩阵;
根据所述对角矩阵、所述系统参数以及所述运行参数确定所述运动控制对象的控制力矩向量;
根据所述运行参数和所述对角矩阵确定所述运动控制对象的力矩补偿向量;
根据所述控制力矩向量和所述力矩补偿向量确定所述运动控制对象当前时刻的力矩向量;
将所述力矩向量中各数值作为所述运动控制对象中对应运动控制子对象的力矩输出值。
第二方面,本发明实施例还提供了一种解耦控制装置,包括:
参数获取模块,用于获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数;
对角矩阵确定模块,用于根据所述惯量矩阵确定对应的对角矩阵;
控制力矩确定模块,用于根据所述对角矩阵、所述系统参数以及所述运行参数确定所述运动控制对象的控制力矩向量;
力矩补偿确定模块,用于根据所述运行参数和所述对角矩阵确定所述运动 控制对象的力矩补偿向量;
力矩向量确定模块,用于根据所述控制力矩向量和所述力矩补偿向量确定所述运动控制对象当前时刻的力矩向量;
输出值确定模块,用于将所述力矩向量中各数值作为所述运动控制对象中对应运动控制子对象的力矩输出值。
第三方面,本发明实施例还提供了一种机器人,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的解耦控制方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的解耦控制方法。
上述提供的解耦控制方法、装置、机器人及存储介质,通过获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数确定控制力矩向量以及对应的力矩补偿向量,以得到运动控制对象中各运动控制子对象最终的力矩输出值的技术方案,实现了简单有效的对运动控制对象进行解耦,同时,在保证解耦精确度的前提下,无需构造复杂的解耦模型,仅需通过简单的计算便可以达到良好的解耦效果。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1a为本发明实施例一提供的一种解耦控制方法的流程图;
图1b为安装有运动控制对象的机器人结构示意图;
图2a为本发明实施例二提供的一种解耦控制方法的流程图;
图2b为确定控制输入向量的方法的流程图;
图2c为运动规划方法的流程图;
图2d为确定控制力矩向量的方法的流程图;
图2e为解耦控制方法的算法示意图;
图2f为解耦控制方法流程图;
图3为本发明实施例三提供的一种解耦控制装置的结构示意图;
图4为本发明实施例四提供的一种机器人的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
图1a为本发明实施例一提供的一种解耦控制方法的流程图。本实施例提供的解耦控制方法适用于在运动控制对象作业过程中对运动控制对象进行解耦的情况。本实施例提供的解耦控制方法可以由解耦控制装置执行,该解耦控制装置可以通过软件和/或硬件的方式实现,并集成在安装有运动控制对象的机器人中。其中,机器人是指可以自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。 例如,移动叉举车以及带有机械臂的设备等均属于机器人。
典型的,当不考虑运动控制对象的惯性、摩擦、间隙以及饱和等因素时,运动控制对象的动力学方程可以表示为:
Figure PCTCN2017103261-appb-000001
其中,τ1表示理想状态下运动控制对象输出的力矩。θ表示运动控制对象动能与势能的广义坐标,也可以称为运动控制对象的位置向量,
Figure PCTCN2017103261-appb-000002
是与θ相应的速度向量,
Figure PCTCN2017103261-appb-000003
是与θ相应的加速度向量。D(θ)为惯量矩阵,其维度与运动控制子对象的数量有关。
Figure PCTCN2017103261-appb-000004
是离心力和科里奥利力向量,其维度同样与运动控制子对象的数量有关。G(θ)是重力矢量,其维度同样与运动控制子对象的数量有关。
实际应用中,根据式(1)确定的力矩控制运动控制对象进行移动时,通常会使得运动控制对象中各运动控制子对象间产生耦合现象。因此,本实施例中提出了通过确定各运动控制子对象的电机控制参数以及力矩补偿参数得到运动控制对象的各电机实际输出的力矩向量,以实现对控制运动对象的运动过程进行解耦。
参考图1a,本实施例提供的一种解耦控制方法具体包括:
S110、获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数。
在本实施例中,运动控制对象包含至少两个可移动的运动控制子对象,每个运动控制子对象均配置有对应的驱动电机。以运动控制对象为机械臂为例,对应的运动控制子对象由一个关节和对应的连杆组成,且每个关节均配置一个驱动电机控制其平移或者旋转。
图1b为安装有运动控制对象的机器人结构示意图,其具体包括上位机11、驱动器12以及运动控制对象13。其中,上位机11具体可以包括至少一个处理 器以及存储装置,用于执行本实施例提供的解耦控制方法,驱动器12和运动控制对象13可以统称为运动控制装置。典型的,上位机11安装有实时Linux操作系统,并可以通过网口利用实时工业现场总线协议与驱动器12进行通信。实时工业现场总线协议可以包括:架构在控制局域网路(Controller Area Network,CAN)上的高层通信协协议(也称为CANOpen)或者以太网控制自动化技术(也称为EtherCAT)协议等。驱动器12与上位机11总线连接,用于根据上位机11确定的力矩输出值控制运动控制对象13移动,驱动器12与运动控制对象13可以是总线连接也可以是电气连接,图1b中以电气连接为例。一般而言,驱动器12控制运动控制对象13移动是指控制对应的运动控制子对象的电机进行运转。可选的,运动控制对象13还包括编码器(图未示),该编码器可以读取电机的运转角度以及速度等参数,并将生成的编码数据发送至驱动器12。驱动器12测量编码器的读数并进行转换,将转换后的结果通过总线反馈给上位机11。一般而言,下述实施例过程中涉及到的通过测量得到的测量参数(运行参数)均可以理解为通过编码器测量得到的数据。需要说明的是,上述机器人仅用于解释说明,而并非对本实施例中安装有运动控制对象的机器人的限定。
进一步的,为运动控制对象建立迪纳维特-哈坦伯格(Denavit-Hartenberg,DH)坐标系,以根据该坐标系确定各运动控制子对象的位置数据,进而确定运动控制对象的位姿矩阵,其中,该位姿矩阵一般是指各运控控制子对象关节在DH坐标系中的位置。
具体的,惯量矩阵也可以称为惯性矩阵,其根据各运动控制子对象的质量、质心位置以及惯性张量确定。当运动控制子对象的位置数据发生变化后,对应的质心位置以及惯性张量也会发生改变,进而导致惯量矩阵的具体值也会相应的变化。其中,在确定惯性张量时需要考虑与当前运动控制子对象相近邻的运 动控制子对象对当前运动控制子对象的影响。
在一次完整的解耦控制流程中,系统参数一般是不变的,其可以根据实际情况进行设定,且没有固定的取值范围。一般而言,在对运动控制对象进行解耦前,可以预先设定对应的计算模型以实现参数计算。其中,计算模型在计算时使用的固定参数便可以称为系统参数。在本实施例中,计算模型优选为控制输入模型,其具体用于确定控制输入向量。
运行参数是指运动控制对象运行或者移动过程中通过测量得到的物理量。其包括但不限定于:运行时刻、运动控制对象的位置、运动控制对象的角速度以及运动控制对象的力矩参数。运动控制对象的位置是指各运动控制子对象的电机运行的角度,运动控制对象的角速度是指各运动控制子对象的电机运行的角速度。运行参数通常以向量形式表示,向量中每一个参数与一个运动控制子对象的相关参数对应。一般而言,运行参数可以通过编码器获取。
可选的,预先设定采样周期,并根据该采样周期间隔获取上述数据。
S120、根据惯量矩阵确定对应的对角矩阵。
一般而言,惯量矩阵为斜对称矩阵。在确定惯量矩阵的对角矩阵时,可以是计算惯量矩阵的特征值,并将惯量矩阵的特征值作为对角矩阵中对角线上的值。假设共有N个运动控制子对象,那么共有N个特征值作为对角矩阵中对角线上的值。
S130、根据对角矩阵、系统参数以及运行参数确定运动控制对象的控制力矩向量。
控制力矩向量可以理解为根据惯量矩阵、系统参数以及运行参数计算得到的各运动控制子对象的电机应该输出的力矩,即电机控制参数。
进一步的,在确定控制力矩向量时,首先根据各运动控制子对象的运行参 数确定当前时刻对各运动控制子对象应当输入的控制参数,记为控制输入向量。在确定控制输入向量时,可以预先设定控制输入模型,其中,该控制输入模型在计算控制输入向量时,输入量为运行参数,模型参数为系统参数。一般而言,控制输入模型确定后,在一次完整的解耦控制流程中是不可改变的。可选的,控制输入模型可以采用比例积分控制、比例控制或比例微分控制等控制调节模式。优选的,采用比例积分控制。
在确定控制输入向量后,将控制输入向量与对角矩阵进行乘法计算,以得到控制力矩向量。控制力矩向量和控制输入向量的维度均与运动控制子对象的数量值相同。
S140、根据运行参数和对角矩阵确定运动控制对象的力矩补偿向量。
示例性的,力矩补偿向量可以理解为根据运动控制对象当前输出的实际力矩确定出的补偿参数,并根据该补偿参数对控制力矩向量进行补偿,以保证最终输出的力矩向量的准确性。
进一步的,可以通过运行参数中实际输出的当前力矩参数结合当前时刻各运动控制子对象的当前角加速度以及对角矩阵确定力矩补偿向量。具体的,将对角矩阵和当前角加速度进行乘法计算,并将当前力矩参数与乘法计算结果作差以得到力矩补偿向量。力矩补偿向量维度与运动控制子对象的数量值相同。
S150、根据控制力矩向量和力矩补偿向量确定运动控制对象当前时刻的力矩向量。
具体的,将控制力矩向量和力矩补偿向量进行加法运算,以得到运动控制对象当前时刻的力矩向量。力矩向量也可以理解为对控制力矩向量进行力矩补偿后得到的结果。力矩向量维度与运动控制子对象的数量值相同。
S160、将力矩向量中各数值作为运动控制对象中对应运动控制子对象的力 矩输出值。
确定力矩向量后,将该力矩向量通过总线发送至驱动器,以使驱动器根据力矩向量控制各运动控制子对象的电机进行运转。其中,力矩向量中每个具体的数值均对应一个运动控制子对象的力矩输出值。
可选的,根据力矩向量控制各运动控制子对象进行移动后,如果运动控制对象没有停止移动,那么继续将下一采样时刻作为当前采样时刻,并返回S110,以重新确定下一采样时刻的力矩向量,直到运动控制对象停止移动为止。
本实施例提供的技术方案,通过获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数确定控制力矩向量以及对应的力矩补偿向量,以得到运动控制对象中各运动控制子对象最终的力矩输出值的技术方案,实现了简单有效的对运动控制对象进行解耦,同时,在保证解耦精确度的前提下,无需构造复杂的解耦模型,仅需通过简单的计算便可以达到良好的解耦效果。
实施例二
图2a为本发明实施例二提供的一种解耦控制方法的流程图。本实施例是在上述实施例的基础上进行具体化。具体的,参考图2a,本实施例提供的解耦控制方法具体包括:
S210、获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数。
S220、对惯量矩阵做奇异值分解以得到对角矩阵。
设定惯量矩阵为D,对角矩阵为
Figure PCTCN2017103261-appb-000005
由于D为斜对称矩阵,因此,对D做奇异值分解时可以得到:
Figure PCTCN2017103261-appb-000006
其中,D′为与D对应的酉矩阵。根据式(2)便可以计算出
Figure PCTCN2017103261-appb-000007
此时,对角矩阵中对角线上的值为奇异值分解得到的特征值。
S230、根据系统参数以及运行参数确定运动控制对象的控制输入向量。
在本实施例中,控制输入模型采用比例积分控制,即利用比例积分(Proportion Integration,PI)调节器确定控制输入向量。其中,PI调节器可以实现在比例控制的基础上及时加上积分控制,以消除控制偏差,尤其适用于控制精度要求高的场景,比如本实施例中的解耦场景。进一步的,系统参数包括:PI调节器中的比例参数和积分参数,其具体值可以根据实际情况进行设定。
具体的,参考图2b,确定控制输入向量的方法具体如下:
S231、根据运行参数中的运行时刻,确定运动控制对象在当前时刻的目标运行参数。
其中,目标运行参数也可以称为理想运行参数,其表明理想状态下,当前时刻运动控制对象应该到达的运行状态。在确定目标运行参数时,需要在运动控制对象初始运行时对其运行状态进行运动规划,并根据运动规划结果确定出各运行时刻的目标运行参数。运动规划也可以理解为对运动控制对象各电机的运转进行规划。其中,目标运行参数以向量形式表示,且其维度与运动控制子对象的数量值相同。
在对运动控制对象进行运动规划时可以采用现有的多种运动规划方法,本实施例中,示例性的选择了五次多项式法进行运动规划。下面对基于五次多项式法进行的运动规划进行示例性描述,具体的,参考图2c,本实施例提供的运动规划方法具体包括S290-S2100:
S290、获取运动控制对象初始运行时刻的初始参数。
具体的,五次多项式法的运功规划过程可以表示为:
S(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5       (3)
其中,a0、a1、a2、a3、a4以及a5为规划系数,t为运动控制对象当前的运行时刻,S(t)为t时刻的运功规划结果。从上述公式可知,如果想要确定运动控制对象的运功规划结果,需要明确规划系数的具体值,且规划系数的具体值可以根据初始参数确定。据此,需要获取运动控制对象初始运行时刻的初始参数,以根据初始参数确定规划系数。
可选的,初始参数包括:采样周期、初始运行时刻运动控制对象实际运行的初始位置、初始角速度以及初始角加速度,初始参数还包括:理想状态下,初始运行时刻运动控制对象期望到达的目标初始位置、目标初始角速度以及目标初始角加速度。其中,采样周期为运动控制对象移动过程中各参数的采样间隔。
需要说明的是,在本实施例中涉及到的各类位置参数(初始位置、目标初始位置、目标位置以及运动控制对象的位置)均可以理解为各运动控制子对象电机的运转角度;各类角速度参数(初始角速度、目标初始角速度、目标角速度以及运动控制对象的角速度)均可以理解为各运动控制子对象电机的运转角速度;角加速度参数与角速度参数类似,在此不做赘述。
S2100、根据初始参数对运动控制对象进行运动规划,以根据运动规划结果确定运行时刻对应的目标运行参数。
示例性的,根据初始参数确定式(3)中规划系数。
下面以一个运动控制子对象为例,设定采样周期T、初始位置θ(0)、初始角 速度
Figure PCTCN2017103261-appb-000008
初始角加速度
Figure PCTCN2017103261-appb-000009
目标初始位置θ0、目标初始角速度
Figure PCTCN2017103261-appb-000010
以及目标初始角加速度
Figure PCTCN2017103261-appb-000011
那么可以得到:
a0=θ(0)          (4-1)
Figure PCTCN2017103261-appb-000012
Figure PCTCN2017103261-appb-000013
Figure PCTCN2017103261-appb-000014
Figure PCTCN2017103261-appb-000015
Figure PCTCN2017103261-appb-000016
进一步的,确定规划系数后,式(3)可以表示为:
θ1(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5        (5)
其中,θ1(t)表示运行时刻t时,运动控制子对象期望运行的目标位置。对式(5)进行微分计算,可得:
Figure PCTCN2017103261-appb-000017
其中,
Figure PCTCN2017103261-appb-000018
表示运行时刻t时,运动控制子对象期望运行的目标角速度。对式(6)进行微分计算,可得:
Figure PCTCN2017103261-appb-000019
其中,
Figure PCTCN2017103261-appb-000020
表示运行时刻t时,运动控制子对象期望运行的目标角加速度。
进一步的,式(5)、式(6)以及式(7)为一个运动控制子对象的运动规划公式。根据上述方法可以构造出全部运动控制子对象的运动规划公式。实际应用时,可以将各初始参数以向量形式表示并计算,且向量中每个值对应一个运动控制子对象。以初始位置为例,对应的向量中每个值对应一个运动控制子 对象的初始位置。这样做的好处是,仅需进行一次运动规划便可以得到全部运动控制子对象的运动规划结果。
需要说明的是,在实际应该过程中,可以根据实际情况在式(5)、式(6)以及式(7)中选择性的构造至少一个运动规划公式,并根据构造的运动规划公式确定出运行时刻对应的目标运行参数,目标运行参数包括:目标位置、目标角速度以及目标角加速度中的至少一个。
S232、根据目标运行参数、运行参数以及系统参数确定运动控制对象的控制输入向量。
其中,系统参数包括:比例参数和积分参数,运行参数包括:运行时刻、运动控制对象的位置和运动控制对象的角速度,目标运行参数包括:目标位置、目标角速度和目标角加速度。
确定控制输入向量u的公式如下:
Figure PCTCN2017103261-appb-000021
其中,θ1(t),
Figure PCTCN2017103261-appb-000022
分别表示运行时刻t对应运动控制对象的目标位置、目标角速度和目标角加速度,其可以通过运动规划结果确定,且均为向量形式。θ′(t)和
Figure PCTCN2017103261-appb-000023
分别表示运行时刻t对应的运动控制对象的位置和运动控制对象的角速度,其可以通过驱动器读取编码器的数据确定,且均为向量形式。以θ1(t)为例,其中每个数值分别代表一个运动控制子对象在t时刻的目标位置。Kp1和Kp2为比例参数,Ki1和Ki2为积分参数,且Kp1、Kp2、Ki1和Ki2均是对角矩阵,其维度与运动控制子对象的数量有关。例如,设定运动控制子对象的数量为5,那么系统参数的维度均为5×5。
从上述公式可知,本实施例中控制输入模型具体包括两个比例积分环节, 其中一个针对目标位置和运动控制对象的位置,另一个针对目标角速度和运动控制对象的角速度,这样可以保证最终得到的控制输入向量的精确度。
S240、对对角矩阵与控制输入向量做乘法运算,以得到控制力矩向量。
具体的,为了抑制控制力矩向量中高频震颤对计算精确度的影响,在乘法计算后将计算结果经过低通滤波器进行滤波,以抑制高频震颤。参考图2d,该步骤具体包括:
S241、对对角矩阵与控制输入向量做乘法运算。
示例性的,设定C表示乘法运算结果,即
Figure PCTCN2017103261-appb-000024
S242、将乘法运算得到的结果作为低通滤波器的输入,并将滤波后得到的结果作为控制力矩向量。
具体的,以一阶低通滤波器为例进行描述:
一阶低通滤波器的滤波公式为:
Figure PCTCN2017103261-appb-000025
在式(9)中,λ为截止频率,s为自变量,F(s)为拉普拉斯变换量。在实际应用中,为了简化计算机实现过程,在一阶低通滤波器滤波时,优选采用微分差分方程,其具体为:
Y(t)=aX(t)+(1-a)Y(t-T′)       (10)
其中,T′为一阶低通滤波器的采样频率,其可以与运行参数的采样周期相同,也可以与运行参数的采样周期不同,X(t)为一阶低通滤波器当前时刻的输入信号,即C,t为当前时刻,Y(t-T′)为一阶低通滤波器基于当前时刻的前一个采样时刻对应的输出信号,a=λ·2πT′,λ为一阶低通滤波器的截止频率,Y(t)为当前时刻的输出信号,即控制力矩向量,记为C′。
S250、根据运行参数确定运动控制对象的当前角加速度。
一般而言,当前时刻运动控制对象的位置和角速度可以直接测量得到,而对应的当前角加速度则需要计算才可以得到。其中,计算得到的当前角加速度也为向量形式,且维度与运动控制子对象的数量值相同。
具体的,为了保证当前角加速度的准确性,本实施例中采用运动规划方法确定当前时刻的目标角加速度,并根据目标角加速度对通过运行参数计算得到的实际角加速度进行修正,以得到最终的当前角加速度。
下面对当前角加速度的确定方法进行示例性描述:
具体的,为了减少计算量,一般在一次完整的解耦过程中仅进行一次运动规划即可,在本步骤中可以直接使用式(5)、式(6)和/或式(7),优选使用式(7)。
进一步的,根据运行时刻t对应的运动控制对象的位置θ′(t)或者运动控制对象的角速度
Figure PCTCN2017103261-appb-000026
利用微分计算法计算角加速度,作为实际角加速度
Figure PCTCN2017103261-appb-000027
具体的,根据θ′(t)确定
Figure PCTCN2017103261-appb-000028
时的公式如下:
Figure PCTCN2017103261-appb-000029
其中,T为采样周期,θ′(t)为运动控制对象的位置,t是运行时刻,θ′(t-T)为基于当前时刻的前一个采样周期对应的历史时刻运动控制对象的位置,θ′(t-2T)为基于当前时刻的前二个采样周期对应的历史时刻运动控制对象的位置。根据上述公式可知,对θ′(t)进行二次微分计算,便可以得到
Figure PCTCN2017103261-appb-000030
根据
Figure PCTCN2017103261-appb-000031
确定
Figure PCTCN2017103261-appb-000032
时的公式如下:
Figure PCTCN2017103261-appb-000033
其中,T为采样周期,
Figure PCTCN2017103261-appb-000034
为运动控制对象的角速度,t是运行时刻,
Figure PCTCN2017103261-appb-000035
为基于当前时刻的前一个采样周期对应的历史时刻运动控制对象的角速度。上述公式可知,对
Figure PCTCN2017103261-appb-000036
进行一次微分计算,便可以得到
Figure PCTCN2017103261-appb-000037
计算得到
Figure PCTCN2017103261-appb-000038
后,利用低通滤波器对
Figure PCTCN2017103261-appb-000039
进行滤波,以实现在一定程度上抑制高频噪声以及在微分计算时对误差的放大,并将滤波后的数据记为
Figure PCTCN2017103261-appb-000040
其中,低通滤波器可以为一阶低通滤波器,其具体滤波方式与S242中提到的滤波方式相同,在此不做赘述。
进一步的,经过贝叶斯滤波器将
Figure PCTCN2017103261-appb-000041
和目标角加速度
Figure PCTCN2017103261-appb-000042
进行融合以得到当前时刻的当前角加速度
Figure PCTCN2017103261-appb-000043
其中,
Figure PCTCN2017103261-appb-000044
Figure PCTCN2017103261-appb-000045
均近似满足高斯分布,且
Figure PCTCN2017103261-appb-000046
对应的第一方差值大于
Figure PCTCN2017103261-appb-000047
对应的第二方差值。具体的,设定满足高斯分布时,
Figure PCTCN2017103261-appb-000048
可以记为
Figure PCTCN2017103261-appb-000049
Rt为第一方差值,其可以通过历史记录的实际角加速度的分析结果确定。
Figure PCTCN2017103261-appb-000050
可以记为
Figure PCTCN2017103261-appb-000051
Qt为第二方差值,其可以根据运动控制对象运行时期望达到的控制效果进行设定。一般而言,Qt越小,在运动控制对象运行时对运动控制对象的控制越精确。通常情况下,Rt大于Qt可以说明
Figure PCTCN2017103261-appb-000052
的置信度高于
Figure PCTCN2017103261-appb-000053
的置信度。换言之,设置Rt大于Qt,可以保证最终得到的
Figure PCTCN2017103261-appb-000054
更加准确。
经过贝叶斯滤波器融合得到的
Figure PCTCN2017103261-appb-000055
同样认为满足高斯分布,其可以表示为:
Figure PCTCN2017103261-appb-000056
其中,η为比例系数,也可以称为分布平均数,其可以通过计算得到。
为了简化计算过程,在实际计算中利用贝叶斯滤波器对
Figure PCTCN2017103261-appb-000057
Figure PCTCN2017103261-appb-000058
进行融合时,可以采用下述计算公式:
Figure PCTCN2017103261-appb-000059
其中,
Figure PCTCN2017103261-appb-000060
Rt为第一方差值,Qt为第二方差值,t为当前时刻。
可选的,在经过贝叶斯滤波器时,由于
Figure PCTCN2017103261-appb-000061
通常会先于
Figure PCTCN2017103261-appb-000062
到达贝叶斯滤波器,因此可以将
Figure PCTCN2017103261-appb-000063
延迟一个采样周期,以保证
Figure PCTCN2017103261-appb-000064
Figure PCTCN2017103261-appb-000065
同时达到贝叶斯滤波器。
根据式(14)便可以计算得到准确的当前角加速度,且降低了由于运行参数测量时产生的测量误差对计算角加速度的影响。
S260、根据当前角加速度、运行参数中当前力矩参数和对角矩阵确定运动控制对象的力矩补偿向量。
具体的,力矩补偿向量
Figure PCTCN2017103261-appb-000066
的计算公式如下:
Figure PCTCN2017103261-appb-000067
其中,τ1为运行参数中的当前力矩参数,其可以直接测量得到。
Figure PCTCN2017103261-appb-000068
为当前角加速度,
Figure PCTCN2017103261-appb-000069
为对角矩阵。
根据式(15)可知,
Figure PCTCN2017103261-appb-000070
实际上也可以认为是根据当前时刻测量得到的当前力矩参数以及理论上应当产生的力矩参数确定的力矩补偿量。
S270、根据控制力矩向量和力矩补偿向量确定运动控制对象当前时刻的力矩向量。
其中,力矩向量τ的计算公式如下:
Figure PCTCN2017103261-appb-000071
根据上式可知,将控制力矩向量C′加上力矩补偿向量
Figure PCTCN2017103261-appb-000072
便可以得到力矩输出值τ。即对C′进行力矩补偿后便可以确定出实际应当输出的力矩向量τ。
S280、将力矩向量中各数值作为运动控制对象中对应运动控制子对象的力矩输出值。
需要说明的是,在上述过程中,可以将计算控制力矩向量的过程称为第一过程,由于其确定的是电机应该输出的力矩,且电机优选为伺服电机,因此该过程也可以称为伺服控制过程,同时将计算力矩补偿向量的过程称为第二过程,由于其计算的是力矩补偿值,用于修正控制力矩向量,因此该过程也可以称为辅助运动过程。即本实施例中的解耦控制方法仅需上述两个过程便可以实现。
图2e为解耦控制方法的算法示意图,图2f为解耦控制方法流程图,为了便于理解,结合图2e和图2f对本实施例提供的解耦控制方法进行示例性说明:
其中,运动控制对象为机械臂。具体的,获取机械臂的初始参数,并利用运动规划方法构造运动规划公式,其具体为式(5)、式(6)以及式(7)。而后,利用式(5)、式(6)以及式(7)确定t时刻的目标位置θ1(t)、目标角速度
Figure PCTCN2017103261-appb-000073
和目标角加速度
Figure PCTCN2017103261-appb-000074
在机械臂运行过程中,根据采样间隔T,间隔获取机械臂当前时刻t的惯量矩阵、系统参数以及运行参数。
进一步的,根据式(2)确定对角矩阵
Figure PCTCN2017103261-appb-000075
而后,经过两个比例积分环节利用式(8)求解控制输入向量u。计算
Figure PCTCN2017103261-appb-000076
并将计算结果作为低通滤波器的输入,利用式(10)得到控制力矩向量。
将测量得到的运行参数中机械臂的位置θ′(t)经过微分计算法(参见式(11))和低通滤波器(参见式(10))得到实际角加速度
Figure PCTCN2017103261-appb-000077
并将
Figure PCTCN2017103261-appb-000078
与延迟一个采样周期后的
Figure PCTCN2017103261-appb-000079
经过贝叶斯滤波器(参见式(14))得到当前角加速度
Figure PCTCN2017103261-appb-000080
后,利用式(15)求解得到力矩补偿向量
Figure PCTCN2017103261-appb-000081
进而利用式(16)求解得到力矩向量τ。将τ中的具体值作为机械臂中对应关节的电机的力矩输出值,以实现在各电机运转时解耦。
本实施例提供的技术方案,通过对获取的惯量矩阵做奇异值分解得到对角矩阵,并根据获取的系统参数以及运行参数确定控制输入向量,进一步的,确 定控制力矩向量以及力矩补偿向量,进而得到实际输出的力矩向量的技术方案,实现了不需要精确的运动控制对象的模型参数,仅需对惯量矩阵做奇异值分解确定对角矩阵,便可以根据对角矩阵、系统参数以及运行参数进行解耦,降低了计算复杂度,使得解耦过程容易实现。同时,在确定控制输入向量时,利用两个比例积分环节保证了控制输入向量的精确度,同时利用低通滤波器有效的抑制了高频震颤。
实施例三
图3为本发明实施例三提供的一种解耦控制装置的结构示意图。本实施例提供的解耦控制装置具体包括:参数获取模块301、对角矩阵确定模块302、控制力矩确定模块303、力矩补偿确定模块304、力矩向量确定模块305以及输出值确定模块306。
其中,参数获取模块301,用于获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数;对角矩阵确定模块302,用于根据惯量矩阵确定对应的对角矩阵;控制力矩确定模块303,用于根据对角矩阵、系统参数以及运行参数确定运动控制对象的控制力矩向量;力矩补偿确定模块304,用于根据运行参数和对角矩阵确定运动控制对象的力矩补偿向量;力矩向量确定模块305,用于根据控制力矩向量和力矩补偿向量确定运动控制对象当前时刻的力矩向量;输出值确定模块306,用于将力矩向量中各数值作为运动控制对象中对应运动控制子对象的力矩输出值。
本实施例提供的技术方案,通过获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数确定控制力矩向量以及对应的力矩补偿向量,以得到运动控制对象中各运动控制子对象最终的力矩输出值的技术方案, 实现了简单有效的对运动控制对象进行解耦,同时,在保证解耦精确度的前提下,无需构造复杂的解耦模型,仅需通过简单的计算便可以达到良好的解耦效果。
在上述实施例的基础上,对角矩阵确定模块302具体用于:对惯量矩阵做奇异值分解以得到对角矩阵,对角矩阵中对角线上的值为奇异值分解得到的特征值。
在上述实施例的基础上,控制力矩确定模块303包括:控制输入确定单元,用于根据系统参数以及运行参数确定运动控制对象的控制输入向量;乘法单元,用于对对角矩阵与控制输入向量做乘法运算,以得到控制力矩向量。
在上述实施例的基础上,控制输入确定单元具体包括:目标参数确定子单元,用于根据运行参数中的运行时刻,确定运动控制对象在当前时刻的目标运行参数;控制输入向量确定子单元,用于根据目标运行参数、运行参数以及系统参数确定运动控制对象的控制输入向量,其中,系统参数包括:比例参数和积分参数,运行参数包括:运行时刻、运动控制对象的位置和运动控制对象的角速度。
在上述实施例的基础上,还包括:初始参数获取模块,用于在获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数之前,获取运动控制对象初始运行时刻的初始参数;运动规划模块,用于根据初始参数对运动控制对象进行运动规划,以根据运动规划结果确定运行时刻对应的目标运行参数。
在上述实施例的基础上,乘法单元具体包括:乘法子单元,用于对对角矩阵与控制输入向量做乘法运算;滤波子单元,用于将乘法运算得到的结果作为低通滤波器的输入,并将滤波后得到的结果作为控制力矩向量。
在上述实施例的基础上,力矩补偿确定模块304具体包括:角加速度确定单元,用于根据运行参数确定运动控制对象的当前角加速度;补偿确定单元,用于确定根据当前角加速度、运行参数中当前力矩参数和对角矩阵确定运动控制对象的力矩补偿向量。
本实施例提供的解耦控制装置可以用于执行上述任意实施例提供的解耦控制方法,具备相应的功能和有益效果。
实施例四
图4为本发明实施例四提供的一种机器人的结构示意图,如图4所示,该机器人包括处理器40、存储器41、输入装置42、输出装置43以及运动控制装置44;机器人中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;机器人中的处理器40、存储器41、输入装置42、输出装置43以及运动控制装置44可以通过总线或其他方式连接,图4中以通过总线连接为例。其中,处理器40执行所述程序时实现如本发明实施例中的解耦控制方法。处理器40和存储器41可以统称为上位机。运动控制装置44用于根据解耦控制方法确定的力矩向量进行移动,其包括运动控制对象以及驱动运动控制对象移动的驱动器,其中,驱动器与运动控制对象电气连接,运动控制对象包括至少两个运动控制子对象,且每个运动控制子对象均具有可运转的电机。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的解耦控制方法对应的程序指令/模块(例如,解耦控制装置中的参数获取模块301、对角矩阵确定模块302、控制输入确定模块303、力矩补偿确定模块304、力矩向量确定模块305以及输出值确定模块306)。处理器40通过运行存储在存储器41中的软件程序、指令以及模 块,从而执行机器人的各种功能应用以及数据处理,即实现上述的解耦控制方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据机器人的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至机器人。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置42可用于接收输入的数字或字符信息,以及产生与机器人的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。
本实施例提供的机器人可以用于执行上述任意实施例提供的解耦控制方法,具备相应的功能和有益效果。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种解耦控制方法,该解耦控制方法包括:
获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数;
根据惯量矩阵确定对应的对角矩阵;
根据对角矩阵、系统参数以及运行参数确定运动控制对象的控制力矩向量;
根据运行参数和对角矩阵确定运动控制对象的力矩补偿向量;
根据控制力矩向量和力矩补偿向量确定运动控制对象当前时刻的力矩向量;
将力矩向量中各数值作为运动控制对象中对应运动控制子对象的力矩输出值。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的解耦控制方法操作,还可以执行本发明任意实施例所提供的解耦控制方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的解耦控制方法。
值得注意的是,上述解耦控制装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方 式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

  1. 一种解耦控制方法,其特征在于,包括:
    获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数;
    根据所述惯量矩阵确定对应的对角矩阵;
    根据所述对角矩阵、所述系统参数以及所述运行参数确定所述运动控制对象的控制力矩向量;
    根据所述运行参数和所述对角矩阵确定所述运动控制对象的力矩补偿向量;
    根据所述控制力矩向量和所述力矩补偿向量确定所述运动控制对象当前时刻的力矩向量;
    将所述力矩向量中各数值作为所述运动控制对象中对应运动控制子对象的力矩输出值。
  2. 根据权利要求1所述的解耦控制方法,其特征在于,所述根据所述惯量矩阵确定对应的对角矩阵包括:
    对所述惯量矩阵做奇异值分解以得到对角矩阵,所述对角矩阵中对角线上的值为奇异值分解得到的特征值。
  3. 根据权利要求1所述的解耦控制方法,其特征在于,所述根据所述对角矩阵、所述系统参数以及所述运行参数确定所述运动控制对象的控制力矩向量包括:
    根据所述系统参数以及所述运行参数确定所述运动控制对象的控制输入向量;
    对所述对角矩阵与所述控制输入向量做乘法运算,以得到控制力矩向量。
  4. 根据权利要求3所述的解耦控制方法,其特征在于,所述根据所述系统 参数以及所述运行参数确定所述运动控制对象的控制输入向量包括:
    根据所述运行参数中的运行时刻,确定所述运动控制对象在当前时刻的目标运行参数;
    根据所述目标运行参数、所述运行参数以及所述系统参数确定所述运动控制对象的控制输入向量,其中,所述系统参数包括:比例参数和积分参数,所述运行参数包括:运行时刻、所述运动控制对象的位置和所述运动控制对象的角速度。
  5. 根据权利要求4所述的解耦控制方法,其特征在于,所述获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数之前还包括:
    获取运动控制对象初始运行时刻的初始参数;
    根据所述初始参数对所述运动控制对象进行运动规划,以根据运动规划结果确定所述运行时刻对应的目标运行参数。
  6. 根据权利要求3所述的解耦控制方法,其特征在于,所述对所述对角矩阵与所述控制输入向量做乘法运算,以得到控制力矩向量包括:
    对所述对角矩阵与所述控制输入向量做乘法运算;
    将乘法运算得到的结果作为低通滤波器的输入,并将滤波后得到的结果作为控制力矩向量。
  7. 根据权利要求1所述的解耦控制方法,其特征在于,所述根据所述运行参数和所述对角矩阵确定所述运动控制对象的力矩补偿向量包括:
    根据所述运行参数确定所述运动控制对象的当前角加速度;
    根据所述当前角加速度、所述运行参数中当前力矩参数和所述对角矩阵确定所述运动控制对象的力矩补偿向量。
  8. 一种解耦控制装置,其特征在于,包括:
    参数获取模块,用于获取运动控制对象的惯量矩阵、系统参数以及运行过程中当前时刻的运行参数;
    对角矩阵确定模块,用于根据所述惯量矩阵确定对应的对角矩阵;
    控制力矩确定模块,用于根据所述对角矩阵、所述系统参数以及所述运行参数确定所述运动控制对象的控制力矩向量;
    力矩补偿确定模块,用于根据所述运行参数和所述对角矩阵确定所述运动控制对象的力矩补偿向量;
    力矩向量确定模块,用于根据所述控制力矩向量和所述力矩补偿向量确定所述运动控制对象当前时刻的力矩向量;
    输出值确定模块,用于将所述力矩向量中各数值作为所述运动控制对象中对应运动控制子对象的力矩输出值。
  9. 一种机器人,其特征在于,包括:
    一个或多个处理器;
    存储装置,用于存储一个或多个程序;
    当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的解耦控制方法。
  10. 一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的解耦控制方法。
PCT/CN2017/103261 2017-05-18 2017-09-25 解耦控制方法、装置、机器人及存储介质 WO2018209860A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710353270.4 2017-05-18
CN201710353270.4A CN106950842B (zh) 2017-05-18 2017-05-18 解耦控制方法、装置、机器人及存储介质

Publications (1)

Publication Number Publication Date
WO2018209860A1 true WO2018209860A1 (zh) 2018-11-22

Family

ID=59479772

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/103261 WO2018209860A1 (zh) 2017-05-18 2017-09-25 解耦控制方法、装置、机器人及存储介质

Country Status (2)

Country Link
CN (1) CN106950842B (zh)
WO (1) WO2018209860A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106950842B (zh) * 2017-05-18 2019-10-25 广州视源电子科技股份有限公司 解耦控制方法、装置、机器人及存储介质
CN108189036B (zh) * 2018-01-17 2021-08-13 广州视源电子科技股份有限公司 力矩控制方法、装置、机器人及存储介质
CN110347040B (zh) * 2019-07-12 2023-02-10 广东工业大学 一种协同运动机构的控制方法、装置、设备及存储介质
CN115922698B (zh) * 2022-11-11 2024-10-08 江苏开放大学(江苏城市职业学院) 一种基于dh参数法的六关节机器人主动解耦方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369132A (zh) * 2008-07-11 2009-02-18 天津大学 基于神经网络辨识器的永磁球形电动机力学解耦控制方法
EP2345511A2 (de) * 2010-01-13 2011-07-20 KUKA Laboratories GmbH Steuerung für einen Manipulator
EP1920892B1 (de) * 2006-11-10 2012-12-26 KUKA Roboter GmbH Robotersteuerung, Roboter und Verfahren zum Steuern eines Roboters
CN105843078A (zh) * 2016-05-24 2016-08-10 哈尔滨工程大学 滑模控制方法及装置
CN106950842A (zh) * 2017-05-18 2017-07-14 广州视源电子科技股份有限公司 解耦控制方法、装置、机器人及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104070522B (zh) * 2013-03-27 2016-10-05 中绿农农业发展有限公司 用于工业机器人的能够自动识别及避免碰撞的方法及装置
CN106313031A (zh) * 2016-10-11 2017-01-11 北京航空航天大学 一种控制力矩陀螺驱动的空间机械臂

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1920892B1 (de) * 2006-11-10 2012-12-26 KUKA Roboter GmbH Robotersteuerung, Roboter und Verfahren zum Steuern eines Roboters
CN101369132A (zh) * 2008-07-11 2009-02-18 天津大学 基于神经网络辨识器的永磁球形电动机力学解耦控制方法
EP2345511A2 (de) * 2010-01-13 2011-07-20 KUKA Laboratories GmbH Steuerung für einen Manipulator
CN105843078A (zh) * 2016-05-24 2016-08-10 哈尔滨工程大学 滑模控制方法及装置
CN106950842A (zh) * 2017-05-18 2017-07-14 广州视源电子科技股份有限公司 解耦控制方法、装置、机器人及存储介质

Also Published As

Publication number Publication date
CN106950842A (zh) 2017-07-14
CN106950842B (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
JP6774637B2 (ja) 制御装置及び制御方法
CN108189036B (zh) 力矩控制方法、装置、机器人及存储介质
WO2018209860A1 (zh) 解耦控制方法、装置、机器人及存储介质
JP4673326B2 (ja) 回転軸の位置制御装置
US10481566B2 (en) Machine learning device, servo control device, servo control system and machine learning method
TWI716390B (zh) 伺服馬達控制裝置及衝突檢測方法
CN107577147B (zh) 一种基于自适应Smith预估器的遥操作双边PID控制方法
WO2020133880A1 (zh) 一种工业机器人振动抑制方法
CN111553239B (zh) 一种机器人关节视觉伺服控制方法、终端设备及存储介质
JP2014136260A (ja) 制御装置
Zheng et al. Tracking control of manipulator based on high-order disturbance observer
WO2018209861A1 (zh) 角加速度确定方法、装置、机器人及存储介质
CN110383187B (zh) 基于具有滞后的速率限制中继及正弦注入的系统参数识别方法
CN114450131A (zh) 机器人系统的无导数模型学习系统及设计
Lamraoui et al. Path following control of fully actuated autonomous underwater vehicle based on LADRC
CN115890735B (zh) 机械臂系统、机械臂及其控制方法、控制器和存储介质
Gierlak Hybrid position/force control of the SCORBOT-ER 4pc manipulator with neural compensation of nonlinearities
Chang et al. Big data analysis of a mini three-axis CNC machine tool based on the tuning operation of controller parameters
Martinez-Prado et al. Multi-axis motion controller for robotic applications implemented on an FPGA
JPH03289385A (ja) モータ制御のゲイン調整方法
JP6930868B2 (ja) サーボ制御装置、サーボ制御方法及びシステム
Liu et al. Velocity estimation of robot manipulators: An experimental comparison
CN111152213B (zh) 一种基于混合控制的机械臂振动补偿方法及装置
JP4587052B2 (ja) 位置制御装置、位置制御方法及び位置制御プログラム
Wang et al. Observer-based task-space consensus of networked robotic systems: A separation approach

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17909986

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 24/03/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 17909986

Country of ref document: EP

Kind code of ref document: A1