This application claims the priority of Japan patent application serial no. 2018-044531, filed on Mar. 12, 2018. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
The present disclosure relates to a control device, and more specifically, to a control device which synchronizes a master device with a slave device and controls the master device and the slave device. In addition, the present disclosure relates to a control method and a program for performing such control.
As a conventional control device of this type, for example, a device which adds, as a correction amount (correction synchronization data), synchronization data to a position command value for a slave device in order to perform a coordinated operation of a master device (coordination reference) and the slave device (control target) as disclosed in Patent Document 1 (Japanese Patent Application Laid-open No. H06-138920) is known.
Distinguished from the conventional example, the applicant has developed a method of synchronizing a master device with a slave device to control the master device and the slave device by obtaining a command value for each axis of the slave device through an arithmetic operation at a fixed period (e.g., a period of about 0.5 msec to 1 msec) based on a command value for each axis (which refers to a “control axis” throughout the description) of the master device. Accordingly, it is possible to synchronize the master device with the slave device with high accuracy.
When the master device and the slave device are synchronized and controlled at a fixed period in this manner, the amount of calculations for a synchronization operation for maintaining the position of the master device and the position of the slave device in a predetermined corresponding relation (e.g., an operation of performing transformation of a predetermined function with respect to the position of the master device) increases in proportion to the number of axes to be computed. Further, when the number of axes of the master device differs from the number of axes of the slave device, it is necessary to perform coordinate transformation from the coordinate system of the master device into the coordinate system of the slave device in a process of obtaining a command value for each axis of the slave device from a command value for each axis (or a measured current value of each axis) of the master device. Accordingly, the amount of calculations needs to be reduced.
A control device of the present disclosure is a control device for synchronizing and controlling a master device and a slave device at a fixed period when the number of axes of the master device is less than the number of axes of the slave device, the control device including: a computing unit which obtains a command value for each axis of the slave device through computation at the fixed period based on a command value for each axis or a measured current value of each axis of the master device, wherein the computing unit includes: a synchronization computing unit which performs synchronization computation for maintaining the position of the master device and the position of the slave device in a predetermined corresponding relation for the command value for each axis or the measured current value of each axis of the master device at the fixed period; and a coordinate transformation unit which performs coordinate transformation from a coordinate system of the master device into a coordinate system of the slave device for synchronization computation result values obtained through the synchronization computation.
In another aspect, a control method of the present disclosure is for obtaining a command value for each axis of a slave device through computation at a fixed period based on a command value for each axis or a measured current value of each axis of a master device and synchronizing and controlling the master device and the slave device when the number of axes of the master device is less than the number of axes of the slave device, the control method including: performing synchronization computation for maintaining the position of the master device and the position of the slave device in a predetermined corresponding relation for the command value for each axis or the measured current value of each axis of the master device at the fixed period; and then performing coordinate transformation from a coordinate system of the master device into a coordinate system of the slave device for synchronization computation result values obtained through the synchronization computation.
In another aspect, a non-transitory recording medium of the present disclosure records a program causing a computer to execute the aforementioned control method.
The present disclosure is directed to provide a control device which synchronizes and controls a master device and a slave device at a fixed period and is capable of reducing the amount of calculations. In addition, the present disclosure is directed to provide a control method and a program for the control device.
In the present description, “axes” of a master device and a slave device respectively refer to control axes. For example, devices having various numbers of axes, such as a 1-axis device like a conveyor belt, a 2-axis device like an X-Y table, a 4-axis device like a 4-axis horizontal articulated robot, and a 6-axis device like a 6-axis articulated robot, can be objects for a master device and a slave device. However, the present disclosure is applied in cases in which the number of axes of a master device is less than the number of axes of a slave device.
“Synchronization computation” refers to computation performed at the fixed period to maintain the position of the master device and the position of the slave device in a predetermined corresponding relation. “Predetermined corresponding relation” represents a relation in which the position of the slave device varies (including acceleration or deceleration) according to a predetermined relation (e.g., a function representing a cam curve) with respect to changes in the position of the master device. The meaning of “positions” of the master device and the slave device includes a translation component and/or a rotation component.
“Coordinate transformation” represents transformation from a position based on a coordinate system (e.g., XYZ coordinate system) of the master device into a position based on a coordinate system (e.g., xyz coordinate system) of the slave device. For example, when positional changes (or the synchronization computation result values) of the master device correspond to a diagonal vector (in which any of x, y and z components is not zero) in the xyz coordinate system of the slave device, “coordinate transformation” corresponds to obtaining projection (x, y and z components) of the vector.
In the control device of the present disclosure, the computing unit obtains a command value for each axis of the slave device through computation at a fixed period based on a command value for each axis or a measured current value of each axis of the master device. In this procedure, the synchronization computing unit of the computing unit first performs synchronization computation for maintaining the position of the master device and the position of the slave device in a predetermined corresponding relation for the command value for each axis or the measured current value of each axis of the master device at the fixed period.
Thereafter, the coordinate transformation unit of the computing unit performs coordinate transformation from the coordinate system of the master device into the coordinate system of the slave device for synchronization computation result values obtained according to the synchronization computation. Accordingly, a command value for each axis of the slave device is obtained. When changes in the synchronization computation result values correspond to a diagonal vector (in which any of x, y and z components is not zero) in the coordinate system (e.g., xyz coordinate system) of the salve device, for example, the coordinate transformation corresponds to obtaining projection (x, y and z components) of the vector. Accordingly, calculation is relatively simply performed even if the number of axes of the slave device is relatively large. Therefore, according to the control device, it is possible to reduce the amount of calculations in the process of obtaining the command value for each axis of the slave device from the command value for each axis (or the measured current value of each axis) of the master device.
According to the control method of the present disclosure, it is possible to reduce the amount of calculations in the process of obtaining the command value for each axis of the slave device from the command value for each axis (or the measured current value of each axis) of the master device.
It is possible to implement the aforementioned control method by causing a computer to execute the program of the present disclosure.
As is apparent from the above description, according to the control device, the control method and the program of the present disclosure, it is possible to reduce the amount of calculations in a process of obtaining a command value for each axis of the slave device from a command value for each axis (or a measured current value of each axis) of the master device.
Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.
As shown in
The slave device 102 includes a 6-axis articulated robot 121 and a robot amplifier 122 which drives the robot 121 according to a signal representing a command value CVn from the control device 10 in this example.
In this example, the master device 101 has a degree of freedom of 1 axis (X axis). The slave device 102 has a degree of freedom of 6 axes of x, y, z, yaw, pitch and roll. That is, the number m of axes of the master device 101 (m=1 in this example) is less than the number n of axes of the slave device 102 (n=6 in this example), i.e., m<n. In addition, the X axis of the master device 101 does not coincide with any of the x, y and z axes of the slave device 102 in this example. Accordingly, a variation in a position X (or a synchronization computation result value which will be described later) of the master device 101 corresponds to a diagonal vector (in which any of x, y and z components is not zero) in the xyz coordinate system of the slave device 102.
As shown in
The master device command value computing unit 20 receives an instruction from the program execution unit 50 and computes and generates command values (master device command values) CVm for the master device 101, which are composed of elements of the same number m as the number m of axes, in order to control the master device 101 having the m axes (m=1 in this example). Signals representing the master device command values CVm are transmitted to the master device 101. The servo amplifier 113 of the master device 101 reflects a current value CVm′ from the encoder 112 to update the master device command value CVm of each axis (X axis in this example) at a fixed period t so as to drive the motor 111. The current value CVm′ is transmitted to the master device command value computing unit 20. In this manner, the master device 101 is controlled by the control device 10 (particularly, the master device command value computing unit 20).
The slave device command value computing unit 40 receives an instruction from a synchronization instruction unit which is not shown and computes and generates command values (slave device command values) CVn for the slave device 102, which are composed of elements of the same number n as the number n of axes, based on synchronization computation result values which will be described later in order to control the slave device 102 having the n axes (n=6 in this example). Signals representing the slave device command values CVn are transmitted to the slave device 102. The robot amplifier 122 of the slave device 102 reflects a current value CVn′ of each axis from the robot 121 to update the slave device command value CVn of each axis at the fixed period t so as to drive the robot 121. The current value CVn′ is transmitted to the slave device command value computing unit 40. In this manner, the slave device 102 is controlled by the control device 10 (particularly, the slave device command value computing unit 40).
The central computing unit 30 includes a synchronization computing unit 31 and a coordinate transformation unit 32. Next, the operation of the control device 10 (particularly, the central computing unit 30) in the control system 100 will be described as an operation example of a control method of an embodiment.
The synchronization computing unit 31 performs synchronization computation (which is represented as a sign S1) for maintaining the position of the master device 101 and the position of the slave device 102 in a predetermined corresponding relation for a command value CVm for each axis (X axis in this example) (or a measured current value CVm′ of each axis) of the master device 101 at the fixed period t.
For example, it is assumed that a position (X-axis position) 101X of the master device 101 increases linearly with the lapse of time, as shown in (A) of
Although the synchronization computation S1, for example, requires a considerable amount of calculations if the predetermined corresponding relation is a computation according to a curve (the aforementioned cam curve in this example), this is not a problem when number m of axes of the master device 101 is less than the number n of axes of the slave device 102 (in the case of m<n) because the number m of axes is relatively small.
Thereafter, the coordinate transformation unit 32 illustrated in
As described above, changes in the synchronization computation result value p correspond to a diagonal vector (in which any of x, y and z components is not zero) in the xyz coordinate system of the slave device 102 in this example. The coordinate transformation unit 32 obtains projection (x, y and z components) of the vector as shown in (C) of
x=K
x
×p+O
x
y=K
y
×p+O
y
z=K
z
×p+O
z (Eq. 1)
(Here, Kx, Ky and Kz represent coefficients of the axes and Ox, Oy and Oz represent offset values of the axes.)
For example, the x, y and z components are obtained as represented by curves 102x, 102y and 102z in (C) of
Meanwhile, as can be understood from the equations (Eq. 1), changes in the synchronization computation result value p may correspond to a vector parallel to any of the xy plane, yz plane and zx plane in the xyz coordinate system of the slave device 102 or correspond to a vector parallel to any of the x axis, y axis and z axis. In such cases, one or two of the coefficients Kx, Ky and Kz become zero.
The coordinate transformation S2 corresponds to obtaining projection (x, y and z components) of the vector, and thus calculation is relatively simple even when the number n of axes of the slave device 102 is relatively large (n=6 in this example). Accordingly, the amount of calculations can be reduced in the process of obtaining the command value CVn for each axis of the slave device 102 from the command value CVm for each axis (or the measured current value CVm′ of each axis) of the master device 101 according to the control device 10.
Thereafter, the slave device command value computing unit 40 receives signals representing the x, y and z components from the coordinate transformation unit 32 and updates the command value CVn for each axis of the slave device 102.
In this example, the slave device 102 receives signals representing the command values CVn through the robot amplifier 122, and moves while being accelerated or decelerated according to the cam curve p=f(X) in synchronization with changes in the position of the master device 101 (i.e., movement of the workpiece 90 represented by the arrow A), as represented by an arrow B in
In this manner, the amount of calculations can be reduced in the process of obtaining the command value CVn for each axis of the slave device 102 from the command value CVm for each axis (or the measured current value CVm′ of each axis) of the master device 101 according to the control device 10.
The above-described control device 10 can be substantially configured using a computer device (e.g., a programmable logic controller (PLC) or the like). Accordingly, it is desirable to configure the control method (the process of performing the synchronization computation S1 and then performing the coordinate transformation S2) described as the operation of the central computing unit 30 as a program executed by a computer. In addition, it is desirable to record such a program in a computer-readable non-transitory recording medium. In such a case, it is possible to implement the above-described control method by causing a computer device to read and execute such a program recorded in a recording medium.
In the above-described example, it is assumed that the master device 101 is a 1-axis conveyor belt and the slave device 102 is a 6-axis robot. However, the present disclosure is not limited thereto. For example, devices having various numbers m and n of axes, such as a 1-axis device like a conveyor belt, a 2-axis device like an X-Y table, a 4-axis device like a 4-axis parallel link robot, a 5-axis device like a 5-axis horizontal articulated robot, and a 6-axis device like a 6-axis articulated robot, can be objects for a master device and a slave device. However, the present disclosure is applied in cases in which the number m of axes of a master device is less than the number n of axes of a slave device.
The embodiments described above are illustrative and can be modified in various manners without departing from the scope of the present disclosure. Although the above-described plurality of embodiments can be independently established, embodiments may be combined. Furthermore, although various features of different embodiments can be independently established, features of different embodiments may be combined.
Number | Date | Country | Kind |
---|---|---|---|
2018-044531 | Mar 2018 | JP | national |