Control system, control method, and program

The control system simplifies robot configurations by using Q-axis current differential values for inertial compensation, enhancing back drivability and response through feed-forward control without additional sensors.

JP2025016859AActive Publication Date: 2025-02-05TOYOTA JIDOSHA KK
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2023119609
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-24
Publication Date
2025-02-05
Estimated Expiration
2043-07-24

Smart Images

  • Figure 2025016859000001_ABST
    Figure 2025016859000001_ABST
Patent Text Reader

Abstract

To simplify a structure to be capable of enhancing back drivability.SOLUTION: A control system comprises: torque command generation means which generates a torque command value for an actuator; inertia compensation calculation means which calculates an inertia compensation command value based on a differential value of q-axis current of the actuator; and drive command calculation means which adds the torque command value generated by the torque command generation means to the inertia compensation command value calculated by the inertia compensation calculation means to calculate a drive command value and outputs the calculated drive command value to the actuator.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a control system, a control method, and a program for controlling an actuator of a robot or the like. [Background technology]

[0002] In order to improve backdrivability, a control system is known that performs inertia compensation through feedback control using an acceleration sensor and an observer (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 6097174 Summary of the Invention [Problem to be solved by the invention]

[0004] Incidentally, some control systems perform inertia compensation by, for example, machine learning. In the above control systems, an additional sensor such as an acceleration sensor is required to perform inertia compensation, which may complicate the configuration.

[0005] The present disclosure has been made to solve such problems, and has as its main object to provide a control system, a control method, and a program that can improve backdrivability while simplifying the configuration. [Means for solving the problem]

[0006] In order to achieve the above object, one aspect of the present disclosure is to a torque command generating means for generating a torque command value for the actuator; an inertia compensation calculation means for calculating an inertia compensation command value based on a differential value of a q-axis current of the actuator; a drive command calculation means for calculating a drive command value by adding the torque command value generated by the torque command generation means to the inertia compensation command value calculated by the inertia compensation calculation means, and outputting the calculated drive command value to the actuator; The control system includes: In this embodiment, The inertia compensation calculation means calculates the q-axis current I q Based on the following equation, the inertia compensation command value T a * may be calculated.

number

[0007] According to the present disclosure, it is possible to provide a control system, a control method, and a program that can improve backdrivability while simplifying the configuration. [Brief description of the drawings]

[0008] [Figure 1] 1 is a diagram showing a schematic configuration of a robot arm according to an embodiment of the present invention; [Diagram 2] 1 is a block diagram showing a schematic system configuration of a control system according to an embodiment of the present invention. [Diagram 3] FIG. 2 is a control block diagram of a control system according to the present embodiment. [Figure 4] 4 is a flowchart showing a flow of a control method according to the present embodiment. [Diagram 5] FIG. 11 is a diagram showing experimental results using the control system according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, the present embodiment will be described with reference to the drawings. In recent years, there has been a demand for robots that can move with high flexibility in order to aim for robots to coexist with humans. In order to increase the flexibility of the robot's movements, it is important to increase the backdrivability of the actuators of the robot's joints.

[0010] There is a trade-off between increasing the backdrivability of an actuator and making the actuator smaller, lighter, and more powerful. For this reason, it is useful to increase the backdrivability of an actuator by using compensation control proportional to the acceleration.

[0011] On the other hand, in conventional control systems, inertia compensation is performed by feedback control using an acceleration sensor and an observer. Therefore, in order to perform inertia compensation, additional sensors such as an acceleration sensor are required, which may complicate the configuration. In addition, since this control system performs feedback control using an observer, there is also a problem that sufficient responsiveness cannot be obtained.

[0012] In contrast, the control system according to this embodiment uses the differential value of the q-axis current as a substitute for acceleration, and performs inertia compensation by providing a torque command for the inertia component to the actuator through feedforward control.

[0013] This eliminates the need for additional sensors such as an acceleration sensor, simplifying the configuration, leading to cost reduction and size reduction while improving the backdrivability. Furthermore, by performing inertia compensation using feedforward control without an observer, rather than feedback control using an observer, sufficient responsiveness can be obtained.

[0014] The control system according to this embodiment controls, for example, a robot arm 10 as shown in Fig. 1. The robot arm 10 is configured as a multi-joint arm having a plurality of joints 11. Each joint 11 is configured to be rotatable around multiple axes. Each joint 11 is connected to each other via a link or the like.

[0015] A plurality of actuators 12 for rotating each joint 11 are collectively provided at the base of the robot arm 10. Each actuator 12 rotates each joint 11 via a belt 13, a wire 14, or the like. This configuration makes it possible to reduce the weight of the main body of the robot arm 10 and improve the backdrivability.

[0016] The actuator 12 is composed of, for example, a motor such as a servo motor and a reducer that reduces the driving force of the motor. An end effector 15 capable of gripping an object is provided at the tip of the robot arm 10.

[0017] 2 is a block diagram showing a schematic system configuration of a control system according to this embodiment. The control system 1 according to this embodiment includes a torque command generator 2, an inertia compensation calculator 3, and a drive command calculator 4.

[0018] The control system 1 has a hardware configuration of a typical computer including, for example, a processor such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit), internal memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory), storage devices such as an HDD (Hard Disk Drive) and an SSD (Solid State Drive), an input / output I / F for connecting peripheral devices such as a display, and a communication I / F for communicating with devices outside the device.

[0019] The torque command generating unit 2 is a specific example of a torque command generating means. The torque command generating unit 2 generates a torque command value for the actuator 12. The torque command generating unit 2 outputs the generated torque command value to the drive command calculating unit 4.

[0020] The inertia compensation calculation unit 3 is a specific example of an inertia compensation calculation means. The inertia compensation calculation unit 3 calculates an inertia compensation command value based on a differential value of the q-axis current of the actuator 12.

[0021] Here, a method for calculating the inertia compensation command value will be described in detail. The above-mentioned backdrivability is defined as the ease of operation when the actuator 12 is operated by an external force, for example. In a robot, the actuator 12, especially the reducer, is the main cause of deterioration of the backdrivability.

[0022] Backdrive torque T, which represents backdrivability f is generally defined by the following equation (1):

number

[0023] In the above formula (1), T s is the static friction force, θ is the output shaft angle of the actuator 12, and K a is the stiffness coefficient, and C ais the viscosity coefficient. I a is the inertia coefficient, e.g., the nominal value of the moment of inertia of the motor.

[0024] Furthermore, in the above formula (1), in this embodiment, the following assumptions can be made: The actuator 12 is a hardware configuration of a motor and a reducer. a The term can be ignored. Since the actuator 12 is in operation, T s The term can be ignored. I a Since the cogging torque is minute compared to the torque in the term, it can be ignored. C a The term can be neglected since it has been compensated for by other techniques.

[0025] Based on the above assumptions, the above equation (1) can be expressed as the following equation (2).

number

[0026] In addition, the backdrive torque T f is the torque constant K t and the q-axis current I q Therefore, the above formula (2) can be expressed as the following formula (3).

number

[0027] The above formula (3) is transformed to obtain the following formula (4), and the formula (4) is further transformed to obtain the formula (5).

number

[0028] In this case, the third derivative of the angle physically becomes the jerk, but when actually differentiating the above equation (5), a low pass filter (LPF) is inserted to perform pseudo differentiation, resulting in the following equation (6).

number

[0029] By appropriately selecting the time constant τ of the LPF, the derivative of the q-axis current, i.e., the time change of the q-axis current, can be used as a substitute for acceleration. The following equation (7) can be derived from the above equation (6), and the inertia compensation command value T a * can be calculated.

number

[0030] In the above formula, τ a is the q-axis current I q is the time constant when pseudo-differentiating I an is the inertia compensation coefficient, and is expressed by the following formula I an =K t / I a However, in practice, the calculated value is adjusted to a value that does not diverge.

[0031] In addition, in the velocity region where inertial compensation is required, τ is set so that the phase matches with the second derivative of the angle. a In that case, the amplitude may become smaller depending on the gain. an The value of is determined.

[0032] 3 is a control block diagram of the control system 1 according to this embodiment. The inertia compensation calculation unit 3 calculates a differential value of the q-axis current based on the current value output from the motor amplifier. The inertia compensation calculation unit 3 calculates an inertia compensation command value T a * The inertia compensation calculation unit 3 calculates the calculated inertia compensation command value T a* is output to the drive command calculation unit 4.

[0033] The drive command calculation unit 4 is a specific example of a drive command calculation means. The drive command calculation unit 4 calculates the inertia compensation command value T a * The drive command calculation unit 4 adds the torque command value generated by the torque command generation unit 2 to the drive command value to calculate a drive command value. The drive command calculation unit 4 outputs the calculated drive command value to an actuator (motor) 12 via a motor amplifier. The actuator 12 is rotationally driven in accordance with the drive command value from the drive command calculation unit 4.

[0034] Next, a control method by the control system 1 according to the present embodiment will be described below. Fig. 4 is a flowchart showing the flow of the control method according to the present embodiment.

[0035] The torque command generating unit 2 generates a torque command value for the actuator 12, and outputs the generated torque command value to the drive command calculating unit 4 (step S101).

[0036] The inertia compensation calculation unit 3 calculates a differential value of the q-axis current based on a current value output from a motor amplifier or the like (step S102). The inertia compensation calculation unit 3 calculates an inertia compensation command value based on the calculated differential value of the q-axis current and the above formula (7), and outputs the calculated inertia compensation command value to the drive command calculation unit 4 (step S103).

[0037] The drive command calculation unit 4 calculates a drive command value by adding the torque command value generated by the torque command generation unit 2 to the inertia compensation command value calculated by the inertia compensation calculation unit 3, and outputs the calculated drive command value to the actuator 12 (step S104). The actuator 12 rotates in accordance with the drive command value from the drive command calculation unit 4 (step S105).

[0038] Next, the results of an experiment comparing the operation of a motor related to the control system 1 according to the present embodiment that performs inertia compensation with a motor that does not perform inertia compensation will be described. In this experiment, the changes in the rotation speed of the motors when rotating each motor by applying an external force by hand or the like are compared.

[0039] Fig. 5 is a diagram showing the results of an experiment using the control system 1 according to the present embodiment. The line (1) on the lower left side of Fig. 5 shows the change in rotation speed of a motor related to the control system according to the present embodiment that performs inertia compensation. The line (1) on the lower right side of Fig. 5 shows the change in rotation speed of a motor that does not perform inertia compensation. The thin line (2) on the upper side shows the compensation command value, and the thick line (3) shows the q-axis current value.

[0040] As shown in Fig. 5, it can be seen that the motor according to this embodiment with inertia compensation accelerates more when the speed is changing, i.e., when accelerating, compared to the motor without inertia compensation. This shows that by increasing the torque during acceleration due to inertia compensation, the motor can rotate more easily when rotated by applying an external force by hand, etc. This shows that the inertia compensation by the control system 1 according to this embodiment functions effectively.

[0041] As described above, the control system 1 according to this embodiment includes the torque command generating unit 2 that generates a torque command value for the actuator 12, the inertia compensation calculating unit 3 that calculates an inertia compensation command value based on a differential value of the q-axis current of the actuator 12, and the drive command calculating unit 4 that adds the torque command value generated by the torque command generating unit 2 to the inertia compensation command value calculated by the inertia compensation calculating unit 3 to calculate a drive command value and outputs the calculated drive command value to the actuator 12.

[0042] This eliminates the need for additional sensors such as an acceleration sensor, simplifying the configuration, leading to cost reduction and size reduction while improving backdrivability. Furthermore, by performing inertia compensation using feedforward control without an observer, rather than feedback control using an observer, sufficient responsiveness can be obtained.

[0043] Although some embodiments of the present disclosure have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims.

[0044] The present disclosure can also be implemented by causing a processor to execute a computer program to perform the processes shown in FIG.

[0045] The program can be stored and provided to a computer using various types of non-transitory computer readable media. The non-transitory computer readable media includes various types of tangible storage media. Examples of the non-transitory computer readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (random access memories)).

[0046] The program may be provided to the computer by various types of transitory computer readable media. Examples of the transitory computer readable medium include an electric signal, an optical signal, and an electromagnetic wave. The transitory computer readable medium can provide the program to the computer via a wired communication path such as an electric wire and an optical fiber, or via a wireless communication path.

[0047] Each component of the control system 1 according to each of the above-described embodiments can be realized not only by a program, but also in whole or in part by dedicated hardware such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array). [Explanation of symbols]

[0048] 1 control system, 2 torque command generator, 3 inertia compensation calculator, 4 drive command calculator, 10 robot arm, 11 joint, 12 actuator, 13 belt, 14 wire, 15 end effector

Claims

1. a torque command generating means for generating a torque command value for the actuator; an inertia compensation calculation means for calculating an inertia compensation command value based on a differential value of a q-axis current of the actuator; a drive command calculation means for calculating a drive command value by adding the torque command value generated by the torque command generation means to the inertia compensation command value calculated by the inertia compensation calculation means, and outputting the calculated drive command value to the actuator; A control system comprising:

2. 2. The control system of claim 1, The inertia compensation calculation means calculates the q-axis current I q and the inertia compensation command value T a * A control system that calculates [0010] In the above formula, I an is the inertia compensation coefficient, and τ a is the q-axis current I q is the time constant when pseudo-differentiating.

3. generating a torque command for an actuator; calculating an inertia compensation command value based on a differential value of a q-axis current of the actuator; a step of calculating a drive command value by adding the generated torque command value to the calculated inertia compensation command value, and outputting the calculated drive command value to the actuator; A control method comprising:

4. A process of generating a torque command value for an actuator; A process of calculating an inertia compensation command value based on a differential value of a q-axis current of the actuator; a process of calculating a drive command value by adding the generated torque command value to the calculated inertia compensation command value, and outputting the calculated drive command value to the actuator; A program that causes a computer to execute the following.

Citation Information

Patent Citations

  • Robot servo controller

    JP1993252779A

  • Robot controller

    JP1999077580A

  • Motor control device

    JP2014027742A

  • Motor control device having feed forward control

    JP2015015844A

  • Motor controller and motor control method

    JP2016039737A