WO2013136412A1 - 指令生成装置および指令生成方法 - Google Patents

指令生成装置および指令生成方法 Download PDF

Info

Publication number
WO2013136412A1
WO2013136412A1 PCT/JP2012/056273 JP2012056273W WO2013136412A1 WO 2013136412 A1 WO2013136412 A1 WO 2013136412A1 JP 2012056273 W JP2012056273 W JP 2012056273W WO 2013136412 A1 WO2013136412 A1 WO 2013136412A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
movable shaft
movable
time
axis
Prior art date
Application number
PCT/JP2012/056273
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 三菱電機株式会社
Priority to PCT/JP2012/056273 priority Critical patent/WO2013136412A1/ja
Priority to KR1020147020230A priority patent/KR101535046B1/ko
Priority to JP2012539136A priority patent/JP5220241B1/ja
Priority to CN201280069582.8A priority patent/CN104106016B/zh
Priority to TW101129686A priority patent/TWI481977B/zh
Publication of WO2013136412A1 publication Critical patent/WO2013136412A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction

Definitions

  • the present invention relates to a command generation device and a command generation method for generating a command for driving various industrial machines (controlled devices) having a plurality of movable axes such as a mounting machine, a machine tool, an XY table, and a robot arm.
  • the simplest technique for performing a positioning operation so that a plurality of movable axes do not interfere with each other is a method of starting the positioning operation of the own axis after moving the other axes to a position where they do not interfere.
  • the waiting time is reduced while avoiding the interference by reducing the moving speed of the own axis until the other axis retracts to a position where it does not interfere with the other axis. Techniques that enable this are disclosed.
  • the command generation device uses a motor control gain that is optimized and set in advance according to the speed, the moving location, and the moving amount for vibration suppression. Is generated.
  • the moving speed of one of the axes is reduced in order to avoid interference, and thus a preset gain is not appropriate. Therefore, there is a possibility that unintentional vibration may occur in the mounting machine. Further, in an area where it can be determined that there is no interference, acceleration occurs again during the movement, causing vibration. As a result, there is a problem that the settling time of positioning becomes long and the tact time of the controlled device becomes long.
  • the present invention has been made in view of the above, and an object thereof is to obtain a command generation device and a command generation method that realize an interference avoiding operation without changing an operation pattern of a movable shaft.
  • the present invention is a command generation device that generates commands for driving a first movable shaft and a second movable shaft included in a controlled device, respectively. Based on the interference distance between the first movable shaft and the second movable shaft, and the operation pattern of the first movable shaft and the second movable shaft, both movable shafts are operated during operation.
  • a standby time calculation unit for calculating a standby time for delaying the operation start timing of the first movable shaft so that the distance between them is always larger than the interference distance, and the operation based on the operation pattern of the second movable shaft.
  • the operation pattern of the first movable shaft is changed. Based on the command to drive the first movable shaft
  • the starts characterized in that it comprises a command output unit.
  • the command generation device avoids interference between the own axis and the other axis (second movable axis) by delaying the output of the command based on the operation pattern of the own axis (first movable axis). Therefore, the interference avoidance operation can be realized without changing the operation pattern of the movable shaft.
  • FIG. 1-1 is a diagram for explaining the characteristics of the positioning operation performed by the command generation device according to the first embodiment of the present invention.
  • FIG. 1-2 is a diagram for explaining the characteristics of the positioning operation performed by the command generation device according to the first embodiment of the present invention.
  • FIG. 2 is a block diagram of a functional configuration of the command generation device according to the first embodiment of the present invention.
  • FIG. 3A is a diagram for explaining a safety distance used in the first embodiment.
  • FIG. 3-2 is a diagram for explaining the safety distance used in the first embodiment.
  • FIG. 4 is a diagram for explaining the outline of the method for calculating the activation standby time Tw and the principle that the interference between the own axis and the other axis can be avoided.
  • FIG. 1-1 is a diagram for explaining the characteristics of the positioning operation performed by the command generation device according to the first embodiment of the present invention.
  • FIG. 1-2 is a diagram for explaining the characteristics of the positioning operation performed by the command generation device according to the first embodiment of the present
  • FIG. 5 is a diagram illustrating a hardware configuration example of the command generation device according to the first embodiment.
  • FIG. 6 is a flowchart illustrating the command generation method according to the first embodiment.
  • FIG. 7 is a flowchart illustrating the standby time calculation process according to the first embodiment.
  • FIG. 8-1 is a diagram for explaining the safety distance used in the second embodiment.
  • FIG. 8-2 is a diagram for explaining the safety distance used in the second embodiment.
  • FIG. 9 is a block diagram of a functional configuration of the command generation device according to the second embodiment of the present invention.
  • FIG. 10 is a flowchart for explaining the standby time calculation process according to the second embodiment.
  • FIG. 11 is a diagram for explaining how interference is avoided by the command generation device of the second embodiment.
  • FIG. FIGS. 1-1 and 1-2 are diagrams for explaining the characteristics of the positioning operation performed by the command generation device according to the first embodiment of the present invention.
  • the machine (controlled device) to be controlled by the command generation device has two movable axes (hereinafter simply referred to as axes) (own axis and other axes).
  • axes two movable axes
  • FIG. 1-1 shows an operation example when the own axis (first movable axis) and the other axis (second movable axis) move in a direction approaching each other.
  • the safe distance is a predetermined distance between the own axis and the other axis, and is a distance between the own axis and the other axis for avoiding interference.
  • Fig. 1-2 shows an operation example when the other axis moves away from its own axis.
  • the other axis is moving in a direction away from its own axis, even if the distance between the current position of both movable axes and the target position of both movable axes is a distance greater than the safe distance, May interfere with each other.
  • the command generation device of the first embodiment when the other axis moves away from the own axis, the control for avoiding interference is executed. That is, the command generation device according to the first embodiment calculates a standby time for avoiding the own axis from interfering with another axis that is stopped or operating, and reaches the target position of the own axis after the standby time has elapsed. Start positioning.
  • FIG. 2 is a block diagram showing a functional configuration of the command generation device according to the first exemplary embodiment of the present invention.
  • the command generation device 100 includes a startup standby time calculation unit 110, a startup standby unit 120, a command calculation unit 130, and a position update unit 140.
  • the command generation device 100 receives a target position (own axis target position X1 and other axis target position X2), target speed (own axis target speed V1 and other axis target speed V2), and safety distance Ds. Then, the command generation device 100 outputs command speeds (output command speeds vo1, vo2) for each axis to a motor drive control unit 150 such as a servo amplifier.
  • the target position (own axis target position X1 and other axis target position X2) and target speed (own axis target speed V1 and other axis target speed V2) are given from an NC program or the like.
  • the safe distance is the time when the own axis stops in time (can avoid interference) even if the other axis starts to stop due to the user's stop command or error occurrence.
  • the amount of movement (hereinafter referred to as deceleration moving amount) is included.
  • the deceleration moving amount is the moving amount of the movable shaft from the start of the emergency stop to the completion of the stop.
  • FIGS. 3A and 3B are diagrams illustrating the safety distance used in the first embodiment. As shown in the figure, the safety distance is the offset between the axes even when the own axis and the other axis move in a direction approaching each other, or even when the other axis moves in a direction away from the own axis.
  • the deceleration moving amount is defined by the following equation 1.
  • the start standby time calculation unit 110 includes target positions X1 and X2, target speeds V1 and V2, current command positions xo1 and xo2 of each axis calculated by the position update unit 140 inside the command generation device 100, and a safety distance. Based on the operation pattern of the own axis and other axes, the operation start timing of the own axis is set so that the distance between both movable axes is always larger than the safe distance during operation. An activation standby time Tw that is a delay amount delayed from the start timing is calculated.
  • the operation pattern of the own axis is described by a command speed function w1 [t] obtained by time differentiation of the command position function p1 [t] or / and the command position function p1 [t] with the time t as a variable.
  • the operation pattern of the other axis is described by the command position function p2 [t] or / and the command speed function w2 [t] obtained by time differentiation of the command position function p2 [t].
  • the start standby time calculation unit 110 integrates the command speed functions w1 [t] and w2 [t], respectively,
  • the functions p1 [t] and p2 [t] can be obtained, and when the operation pattern is given by the command position functions p1 [t] and p2 [t], the command position functions p1 [t] and p2 [t ] Can be differentiated to obtain command speed functions w1 [t] and w2 [t].
  • the operation pattern of each movable axis is expressed by, for example, a function including a variable other than time t (for example, a function that realizes trapezoidal acceleration / deceleration or a function that realizes S-shaped acceleration / deceleration).
  • Variables other than time t are determined based on the target positions X1 and X2, target speeds V1 and V2, and current command positions xo1 and xo2, and a function describing the operation pattern of each axis is determined.
  • the start standby time calculation unit 110 calculates a time Tb when the distance between the own axis and the other axis is less than the safe distance based on the own axis target position X1 and the command position function p2 [t].
  • the start standby unit 120 and the command calculation unit 130 cooperate to function as the command output unit of the first embodiment.
  • the command output unit starts outputting the command for driving the other axis based on the operation pattern of the other axis, and when the start waiting time Tw has elapsed after starting the output of the command for driving the other axis, Based on the operation pattern, output of a command for driving the own axis is started.
  • the start standby unit 120 delays the output of the start command by the start standby time Tw for the own axis calculated by the start standby time calculation unit 110. That is, the start standby unit 120 outputs a start command for the other axis, and outputs a start command for the own axis when the start standby time Tw elapses after the start command for the other axis is output.
  • the calculated start waiting time Tw is equal to or less than the zero value, when the start command for the other axis is output, the start command for the own axis is immediately output.
  • the command calculation unit 130 receives the start command, the target position, and the target speed, and calculates each axis command speed for each control cycle from the target position and target speed of the corresponding axis after inputting the start command for each axis.
  • the calculated command speed of the own axis is vo1
  • the command speed of the other axis is vo2.
  • the command calculation unit 130 receives the start command for the other axis, it starts outputting the command speed vo2 for each calculation cycle of the other axis, and when it receives the start command for its own axis, Output of the command speed vo1 is started.
  • the position update unit 140 integrates the command velocities vo1 and vo2 output to the respective axes, and calculates the current command positions xo1 and xo2 of the respective axes.
  • the motor drive control unit 150 is, for example, a servo amplifier, and receives command speeds vo1 and vo2 and controls motor drive.
  • the activation standby time calculation unit 110 obtains the time Tb of the intersection of the target position X1 of the own axis and the command position function p2 [t], so that the command position function p2 [t] needs to consider interference. Calculate the category. That is, the time after time Tb is a time segment in which no interference occurs because the own axis and the other axis are separated from each other by more than a safe distance, and time 0 to time Tb are time segments that need to be considered for interference. is there. Next, the activation standby time calculation unit 110 obtains a time Ta at which the command speed of the own axis coincides with the command speed (differentiation of the command position) V of the other axis at time Tb.
  • the activation standby time calculation unit 110 sets the value of Tb ⁇ Ta as the activation standby time Tw.
  • Tw Tb ⁇ Ta (p1 [t ⁇ Tw])
  • the command position function of the own axis and the other axis at time Tb is equal to V
  • the command position function of the own axis and the other axis is in contact with or apart from each other at time Tb (at a safety distance of 0). There is no interference when touching). Accordingly, since the two command position functions do not have an intersection, the activation standby time for avoiding interference can be calculated.
  • FIG. 5 is a diagram illustrating a hardware configuration example of the command generation device 100 according to the first embodiment.
  • the command generation device 100 includes a CPU (Central Processing Unit) 1, a RAM (Random Access Memory) 2, and a ROM (Read Only Memory) 3.
  • the CPU 1, RAM 2 and ROM 3 are connected to each other via a bus line.
  • the ROM 3 is a recording medium that stores in advance a command generation program 4 that executes the command generation method of the first embodiment.
  • the CPU 1 reads out the command generation program 4 from the ROM 3 via the bus line, loads it into the RAM 2, and executes the command generation program 4 loaded in the RAM 2.
  • program modules corresponding to the activation standby time calculation unit 110, the activation standby unit 120, the command calculation unit 130, and the position update unit 140 are generated on the RAM 2.
  • the CPU 1 functions as a corresponding functional component by executing each program module.
  • the command generation program 4 may be provided or distributed via a network such as the Internet. Further, as a recording medium from which the command generation program 4 is loaded, an external storage device, a removable memory device, and an optical disk device can be employed.
  • the activation standby time calculation unit 110 the activation standby unit 120, the command calculation unit 130, and the position update unit 140 are described as being implemented by the CPU 1, that is, software. You may make it implement
  • FIG. 6 is a flowchart for explaining the command generation method according to the first embodiment, which is executed by the command generation device 100.
  • the activation standby time calculation unit 110 includes target positions X1 and X2 and target speeds V1 and V2 that are input from the outside, and current command positions xo1 of each axis that are calculated by the position update unit 140. xo2 is acquired (step S1). Then, the activation standby time calculation unit 110 calculates the difference between the target positions of the own axis and the other axis, and determines whether or not the target position is within the safety distance Ds (step S2).
  • step S2 If the difference between the target position of the own axis and the other axis is less than the safe distance Ds (Yes in step S2), the command generating apparatus 100 cannot execute the movement of the own axis without avoiding interference.
  • the operation start of the shaft is canceled (step S3), and the command generation device 100 ends the operation.
  • the command generation device 100 cancels the start of operation of its own axis, for example, the command generation device 100 prohibits output of a command for driving its own axis, and the command generation device 100 outputs an instruction for driving its own axis. Is prohibited by the command calculation unit 130 not outputting the command speed xo1.
  • the command generation device 100 permits the output of the command for driving the own axis, and the output of the command for driving the own axis is permitted.
  • the command calculation unit 130 can output a command for driving its own axis when receiving a startup command from the startup standby unit 120.
  • the command generation device 100 may execute predetermined error processing such as notifying the operator of an error when canceling the start of operation of the own axis.
  • the activation standby time calculation unit 110 determines whether or not the other axis and the own axis intersect, and also when the other axis and the own axis intersect, step S3. These processes may be executed.
  • the command generation device 100 starts positioning of the other axis (step S4).
  • the start standby time calculation unit 110 outputs a start command for starting the other axis by instructing the start standby unit 120 to the command calculation unit 130, and receives the start command for starting the other axis.
  • the unit 130 calculates and outputs the command speed vo2 of the other axis for each control cycle based on the target position X2 and the target speed V2.
  • the activation standby time calculation unit 110 determines whether or not the other axis is stopped (step S5), and determines whether or not the other axis is moving in a direction away from the own axis (step S6). ) And execute.
  • the activation standby time calculation unit 110 can determine the determinations in step S5 and step S6 based on the difference between the current command position xo2 calculated by the position update unit 140 and the target position xo2.
  • the activation standby time calculation unit 110 sets the activation standby time Tw. A zero value is set (step S7).
  • step S8 When the other axis is moving (No in step S5) and the moving direction of the other axis is a direction away from the own axis (step S6, Yes), the activation standby time calculation unit 110 avoids interference.
  • the waiting time calculation process for calculating the start waiting time Tw of the own axis is executed (step S8).
  • FIG. 7 is a flowchart for explaining the standby time calculation process according to the first embodiment.
  • the activation standby time Tw calculated in step S7 or step S8 is input to the activation standby unit 120.
  • the activation standby unit 120 waits for the activation standby time Tw (step S9). That is, the start standby unit 120 waits until the start standby time Tw elapses after the start command for the other axis is output.
  • the command generation device 100 starts positioning of the own axis (step S10). Specifically, the start standby unit 120 inputs a start command for the own axis to the command calculation unit 130, and the command calculation unit 130 to which the start command for the own axis is input is based on the target speed V1 and the target speed V1. The speed command vo1 is calculated and output. When both the own axis and the other axis reach the target position by positioning, the command generating device 100 ends the operation.
  • the command generation device 100 executes the processing of steps S2 to S8 for each other axis.
  • the process of step S3 is not executed, the interference between the own axis and the other axis can be avoided by executing the process of step S9 using the maximum value of the start waiting time Tw for each other axis. .
  • the safe distance (interference distance) between the own axis (first movable axis) and the other axis (second movable axis), and the operation of the own axis and the other axis.
  • an activation standby time calculation unit 110 that calculates a standby time for delaying the operation start timing of the own axis so that the distance between the two movable axes is always greater than the safe distance during operation, and the other axis
  • the output of the command to drive the other axis is started based on the operation pattern of the first axis, and when the calculated waiting time has elapsed after the start of the output of the command to the other axis, the own axis is changed based on the operation pattern of the own axis.
  • the command generation device 100 Since the command generation device 100 is configured to include the start standby unit 120 and the command calculation unit 130 that function as a command output unit that starts outputting a command to be driven, the command generation device 100 operates the own axis. Directives based on patterns It is possible to avoid interference between its own axis and the other axis by allowed to delay the force, it is possible to realize the interference avoidance operation without changing the operation pattern of the movable shaft.
  • the start standby time calculation unit 110 moves in a direction in which the other axis approaches the own axis or moves in a direction in which the other axis moves away from the own axis based on the target position and the current command position of the own axis and the other axis. If the other axis is moving in the direction approaching its own axis or if the other axis is stopped, the waiting time is set to zero. Thus, when it can be determined that interference cannot be avoided only from the target positions of both movable axes, the start-up waiting time calculation unit 110 can omit the calculation of the waiting time. 100 calculation costs can be reduced.
  • the start standby time calculation unit 110 calculates a time Tb at which the command position p2 [t] matches the sum of the target position of the own axis and the safety distance, and the command speed w1 [t] of the own axis is calculated from the other axis.
  • the time Ta corresponding to the command speed w2 [Tb] is calculated, the time Ta is subtracted from the time Tb, and the value obtained by the subtraction is used as the waiting time.
  • the activation standby time calculation unit 110 determines whether or not the distance between the target positions of both movable axes is larger than the safe distance, and when the distance between the target positions of both movable axes is larger than the safe distance , Functioning as a safety confirmation unit that permits output of a command to drive the own axis and prohibits output of a command to drive the own axis when the distance between the target positions of both movable axes is smaller than the safe distance. Since it did in this way, when it can be judged that interference cannot be avoided only from the target position of both movable axes, the operation of the own axis can be canceled without calculating the standby time.
  • the start-up waiting time calculation unit 110 determines whether or not both movable axes intersect, and if both movable axes do not intersect, permits the output of a command for driving the own axis. In the case of crossing, the output of the command to drive the own axis is prohibited, so even if the distance between both movable axes is longer than the safe distance, when both movable axes intersect Can cancel the operation of its own axis.
  • FIG. The command generation device of the second embodiment can input a value that does not include the deceleration movement amount as the safe distance.
  • 8A and 8B are diagrams illustrating the safety distance used in the second embodiment. As shown in the figure, even when the own axis and the other axis move in a direction approaching each other, or when the other axis moves in a direction away from the own axis, the offset between the axes is the safe distance. used.
  • FIG. 9 is a block diagram illustrating a functional configuration of the command generation device according to the second embodiment of the present invention.
  • the same components and elements as those of the first embodiment are denoted by the same names and reference numerals as those of the first embodiment, and redundant description is omitted.
  • the command generation device 200 includes a startup standby time calculation unit 210, a startup standby unit 120, a command calculation unit 130, and a position update unit 140.
  • the start standby time calculation unit 210 is configured to calculate the target positions X1 and X2, the target speeds V1 and V2, the safe distance, and the current command positions xo1 and xo2 of each axis calculated by the position update unit 140 inside the command generation device 100. Based on the above, the standby time calculation process of the second embodiment is executed.
  • the command position function pd [t] obtained by adding the deceleration amount when the own axis and the other axis are decelerated and stopped according to the deceleration dcc from the command speed w [t]
  • the command A command speed function wd [t] obtained from the differentiation of the position function pd [t] is used. That is, the command position function pd [t] and the command speed function wd [t] are described by the following equations 2 and 3, respectively.
  • wd [t] p [t] ⁇ w [t] 2 / (2 ⁇ dcc) (Formula 2)
  • wd [t] w [t] ⁇ (1 ⁇ w ′ [t] / dcc) (Formula 3)
  • w ′ [t] is a derivative of w [t].
  • FIG. 10 is a flowchart for explaining the standby time calculation process according to the second embodiment.
  • FIG. 11 is a diagram for explaining how interference is avoided by the command generation device 200 of the second embodiment.
  • the deceleration movement amount is set so that the command position function of the other axis and the command position function of the own axis do not intersect. Since the command position function of the own axis is delayed in consideration of the above, interference is avoided.
  • the activation standby time calculation unit 210 adds the function pd1 [t] obtained by adding the deceleration movement amount of its own axis to the command position p1 [t], and the function pd1 [t ] Is obtained by differentiating the function pd1 [t] obtained by time differentiation, the function pd2 [t] obtained by adding the deceleration movement amount of the other axis to the command position p2 [t], and the function pd2 [t].
  • the user can move both movable axes without considering the deceleration movement amount of both axes. Because of entering it allows the offset distance in the stationary state as a safety distance, it is possible to simplify the examination of the set value of the safety distance.
  • the command generation device and the command generation method according to the present invention are suitable for application to a command generation device and a command generation method for generating commands for driving various industrial machines having a plurality of movable shafts. is there.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Numerical Control (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

 可動軸の運転パターンを変更することなく干渉回避動作を実現するために、指令生成装置(100)は、第1の可動軸と第2の可動軸との間の干渉距離と、前記第1の可動軸および前記第2の可動軸の運転パターンとに基づいて、運転中に双方の可動軸間の距離が干渉距離よりも常時大きくなるように前記第1の可動軸の運転開始タイミングを遅延せしめる待機時間を算出する起動待機時間演算部(110)と、前記第2の可動軸の運転パターンに基づいて前記第2の可動軸を駆動する指令の出力を開始し、前記第2の可動軸にかかる指令の出力開始後から前記算出された待機時間が経過したとき、前記第1の可動軸の運転パターンに基づいて前記第1の可動軸を駆動する指令の出力を開始する、指令出力部としての起動待機部(120)および指令演算部(130)と、を備える。

Description

指令生成装置および指令生成方法
 本発明は、実装機、工作機械、XYテーブル、ロボットアームなど、複数の可動軸を備えた各種産業機械(被制御装置)を駆動するための指令を生成する指令生成装置および指令生成方法に関する。
 複数の可動軸の可動領域が互いに交差している場合、これらの可動軸が互いに干渉しないように位置決め運転を行う必要がある。複数の可動軸が干渉しないように位置決め運転を行うための最も単純な技術としては、他軸を干渉しない位置まで移動させてから自軸の位置決め運転を開始する方法がある。しかしながら、この方法によれば、他軸が移動完了するまで自軸は待機する必要があるため、被制御装置のタクトタイムが長くなり、作業効率が低下するといった課題がある。
 これに対し、例えば特許文献1には、他軸が干渉しない位置に退避するまでは自軸の移動速度を小さくして移動を開始しておくことで、干渉を回避しつつ待機時間を削減することを可能にする技術が開示されている。
特開平9-251320号公報
 例えば実装機が駆動対象である場合には、指令生成装置は、振動抑制のため速度・移動場所・移動量に応じてあらかじめ最適化されて設定されたモータ制御ゲインを用いて、可動軸の指令を生成する。しかしながら、特許文献1に記載の技術によれば、干渉を回避するために一方の軸の移動速度が小さくなるため、あらかじめ設定されたゲインが適切ではなくなる。そのため、実装機に意図しない振動が発生する虞がある。また、干渉しないと判断できるエリアでは移動途中で再度加速するため、振動発生の要因となる。その結果、位置決めの整定時間が長くなり、被制御装置のタクトタイムが長くなるといった問題がある。
 本発明は、上記に鑑みてなされたものであって、可動軸の運転パターンを変更することなく干渉回避動作を実現する指令生成装置および指令生成方法を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、被制御装置が具備する第1の可動軸と第2の可動軸とを夫々駆動する指令を生成する指令生成装置であって、前記第1の可動軸と前記第2の可動軸との間の干渉距離と、前記第1の可動軸および前記第2の可動軸の運転パターンとに基づいて、運転中に双方の可動軸間の距離が干渉距離よりも常時大きくなるように前記第1の可動軸の運転開始タイミングを遅延せしめる待機時間を算出する待機時間演算部と、前記第2の可動軸の運転パターンに基づいて前記第2の可動軸を駆動する指令の出力を開始し、前記第2の可動軸にかかる指令の出力開始後から前記算出された待機時間が経過したとき、前記第1の可動軸の運転パターンに基づいて前記第1の可動軸を駆動する指令の出力を開始する、指令出力部と、を備えることを特徴とする。
 本発明にかかる指令生成装置は、自軸(第1の可動軸)の運転パターンに基づく指令の出力を遅延せしめることで自軸と他軸(第2の可動軸)との干渉を回避することができるので、可動軸の運転パターンを変更することなく干渉回避動作を実現することができる。
図1-1は、本発明の実施の形態1の指令生成装置による位置決め動作の特徴を説明する図である。 図1-2は、本発明の実施の形態1の指令生成装置による位置決め動作の特徴を説明する図である。 図2は、本発明の実施の形態1にかかる指令生成装置の機能構成を示すブロック図である。 図3-1は、実施の形態1において使用される安全距離を説明する図である。 図3-2は、実施の形態1において使用される安全距離を説明する図である。 図4は、起動待機時間Twの算出方法の概要と、自軸と他軸との間の干渉を回避できることの原理を説明する図である。 図5は、実施の形態1の指令生成装置のハードウェア構成例を説明する図である。 図6は、実施の形態1の指令生成方法を説明するフローチャートである。 図7は、実施の形態1の待機時間算出処理を説明するフローチャートである。 図8-1は、実施の形態2において使用される安全距離を説明する図である。 図8-2は、実施の形態2において使用される安全距離を説明する図である。 図9は、本発明の実施の形態2にかかる指令生成装置の機能構成を示すブロック図である。 図10は、実施の形態2の待機時間算出処理を説明するフローチャートである。 図11は、実施の形態2の指令生成装置により干渉が回避される様子を説明する図である。
 以下に、本発明にかかる指令生成装置および指令生成方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 図1-1および図1-2は、本発明の実施の形態1の指令生成装置による位置決め動作の特徴を説明する図である。なお、ここでは、説明を簡単にするため、指令生成装置の制御対象とする機械(被制御装置)が有する可動軸(以下、単に軸と記述)は2つ(自軸および他軸)であるとする。
 図1-1は、自軸(第1の可動軸)および他軸(第2の可動軸)が互いに近づく方向に移動する場合の動作例を示している。実施の形態1の指令生成装置によれば、自軸および他軸が互いに近づく方向に移動する場合であって、双方の目標位置の間が安全距離以上離れている場合には、干渉回避の制御を実行しない。安全距離とは、予め設定される自軸と他軸との間の距離であって、干渉を回避するための自軸と他軸との間の距離をいう。
 図1-2は、他軸が自軸に対して離れる方向に移動する場合の動作例を示している。他軸が自軸から離れる方向に移動中においては、双方の可動軸の現在位置の間、および双方の可動軸の目標位置の間が安全距離以上の距離だけ離れていたとしても、移動の途中で互いに干渉する可能性がある。実施の形態1の指令生成装置によれば、他軸が自軸に対して離れる方向に移動する場合には、干渉回避の制御を実行する。即ち、実施の形態1の指令生成装置は、停止中または動作中の他軸に自軸が干渉することを回避するための待機時間を算出し、待機時間が経過した後に自軸の目標位置までの位置決めを開始する。
 図2は、本発明の実施の形態1にかかる指令生成装置の機能構成を示すブロック図である。図示するように、指令生成装置100は、起動待機時間演算部110、起動待機部120、指令演算部130、および位置更新部140を備えている。指令生成装置100は、目標位置(自軸目標位置X1および他軸目標位置X2)、目標速度(自軸目標速度V1および他軸目標速度V2)、および安全距離Dsが入力される。そして、指令生成装置100は、各軸に対する指令速度(出力指令速度vo1、vo2)をサーボアンプなどのモータ駆動制御部150に出力する。なお、目標位置(自軸目標位置X1および他軸目標位置X2)および目標速度(自軸目標速度V1および他軸目標速度V2)は、NCプログラムなどから与えられる。
 なお、実施の形態1においては、安全距離とは、ユーザの停止指令・エラー発生などの要因により他軸が停止を開始しても自軸の停止が間に合う(干渉を回避できる)だけの減速時の移動量(以下、減速移動量)を含むものとする。減速移動量とは、言い換えると、緊急停止開始から停止完了するまでの可動軸の移動量である。図3-1および図3-2は、実施の形態1において使用される安全距離を説明する図である。図示するように、自軸および他軸が互いに近づく方向に移動する場合であっても、他軸が自軸に対して離れる方向に移動する場合であっても、安全距離は、軸間のオフセットに、自軸および他軸の減速移動量の絶対値を夫々加算したものとなっている。軸間のオフセットとは、軸同士を物理的に近づけることができる最小の距離をいう。減速移動量は次式1で定義される。ここで、安全距離には減速移動量の最大値を考慮する必要があるため、指令速度は運転パターン中の最大値が採用される。
 (減速移動量)=(1/2)×(指令速度)/(減速度)   (式1)
 起動待機時間演算部110は、目標位置X1、X2と、目標速度V1、V2と、指令生成装置100内部の位置更新部140で演算される各軸の現在の指令位置xo1、xo2と、安全距離と、を入力とし、自軸および他軸の運転パターンとに基づいて、運転中に双方の可動軸間の距離が安全距離よりも常時大きくなるように自軸の運転開始タイミングを他軸の運転開始タイミングから遅延せしめる遅延量である起動待機時間Twを演算する。
 自軸の運転パターンは、時刻tを変数とした指令位置関数p1[t]または/および指令位置関数p1[t]を時間微分して得られる指令速度関数w1[t]で記述される。同様に、他軸の運転パターンは、指令位置関数p2[t]または/および指令位置関数p2[t]を時間微分して得られる指令速度関数w2[t]で記述される。起動待機時間演算部110は、運転パターンが指令速度関数w1[t]、w2[t]で記述される場合には、指令速度関数w1[t]、w2[t]を夫々積分して指令位置関数p1[t]、p2[t]を得ることができるし、運転パターンが指令位置関数p1[t]、p2[t]で与えられる場合には、指令位置関数p1[t]、p2[t]を夫々微分して指令速度関数w1[t]、w2[t]を得ることができる。夫々の可動軸の運転パターンは、例えば、時間t以外の変数を含む関数(例えば台形加減速を実現する関数やS字加減速を実現する関数)で表現される。そして、時間t以外の変数は、目標位置X1、X2、目標速度V1、V2、および現在の指令位置xo1、xo2に基づいて決定され、各軸の運転パターンを記述する関数が確定される。起動待機時間演算部110は、自軸目標位置X1および指令位置関数p2[t]に基づいて自軸と他軸の距離が安全距離未満になる時間Tbを演算する。そして、指令速度関数w1[t]およびw2[t]に基づいて時間Tbにおける他軸の指令速度w2[Tb]と自軸の指令速度が一致する時間Taを演算する。そして、時間Tbと時間Taから式「T=Tb-Ta」により起動待機時間Twを演算する。
 起動待機部120および指令演算部130は、協働して、実施の形態1の指令出力部として機能する。指令出力部は、他軸の運転パターンに基づいて他軸を駆動する指令の出力を開始し、他軸を駆動する指令の出力を開始してから起動待機時間Twが経過したとき、自軸の運転パターンに基づいて自軸を駆動する指令の出力を開始する。
 具体的には、起動待機部120は、起動待機時間演算部110で演算される自軸に対する起動待機時間Twだけ起動指令の出力を遅らせる。即ち、起動待機部120は、他軸の起動指令を出力し、当該他軸の起動指令の出力後、起動待機時間Twだけ経過すると、自軸の起動指令を出力する。なお、算出された起動待機時間Twがゼロ値以下の値である場合、他軸の起動指令を出力すると、即、自軸の起動指令を出力する。指令演算部130は、起動指令、目標位置、目標速度を入力とし、各軸の起動指令入力後は該当軸の目標位置、目標速度から、制御周期ごとに各軸指令速度を演算する。算出された自軸の指令速度をvo1、他軸の指令速度をvo2とする。ここで、指令演算部130は、他軸の起動指令を受信すると、他軸の演算周期毎の指令速度vo2の出力を開始し、自軸の起動指令を受信すると、自軸の演算周期毎の指令速度vo1の出力を開始する。
 位置更新部140は、各軸に出力される指令速度vo1、vo2を夫々積分して、各軸の現在指令位置xo1、xo2を算出する。
 なお、モータ駆動制御部150は、例えばサーボアンプであって、指令速度vo1、vo2を入力とし、モータの駆動の制御を行う。
 ここで、起動待機時間Twの算出方法の概要と、自軸の位置決め開始を起動待機時間Twだけ遅らせることで、自軸と他軸との間の干渉を回避できることの原理を、図4を使用して説明する。なお、ここでは、説明を単純化するため安全距離がゼロ値であるとして説明する。
 まず、起動待機時間演算部110は、自軸の目標位置X1と指令位置関数p2[t]の交点の時間Tbを求めることで、指令位置関数p2[t]において、干渉の考慮が必要な時間区分を算出する。即ち、時刻Tb以降の時間は、自軸と他軸との間が安全距離以上に離れるため、干渉は発生しない時間区分であり、時刻0~時刻Tbは、干渉の考慮が必要な時間区分である。次に、起動待機時間演算部110は、自軸の指令速度が時刻Tbでの他軸の指令速度(指令位置の微分)Vに一致する時刻Taを求める。そして、起動待機時間演算部110は、Tb-Taの値を起動待機時間Twとする。Tw=Tb-Taだけ自軸の指令位置関数が遅延せしめられると(p1[t-Tw])、時刻Tbでの自軸の速度はVと等しくなる。自軸の指令位置関数は単調増加関数であるため、時刻Tbでの自軸の指令位置(p1[Tb-Tw]=p1[Ta])は明らかに自軸の目標位置X1以下である。さらに時刻Tbでの自軸と他軸の指令位置関数の傾き(指令速度)はVと等しいため、時刻Tbで自軸と他軸の指令位置関数は接するかまたは離れている(安全距離0であるため、接する場合も干渉無しである)。よって、2つの指令位置関数は交点を持たないことから、干渉を回避するための起動待機時間が算出できる。
 図5は、実施の形態1の指令生成装置100のハードウェア構成例を説明する図である。指令生成装置100は、CPU(Central Processing Unit)1、RAM(Random Access Memory)2、およびROM(Read Only Memory)3を備えている。CPU1、RAM2およびROM3は、バスラインを介して夫々接続されている。
 ROM3は、実施の形態1の指令生成方法を実行する指令生成プログラム4を予め記憶している記録媒体である。CPU1は、ROM3から指令生成プログラム4をバスラインを介して読み出して、RAM2へロードし、RAM2内にロードされた指令生成プログラム4を実行する。指令生成プログラム4がRAM2にロードされることによって、RAM2上に、起動待機時間演算部110、起動待機部120、指令演算部130、および位置更新部140の夫々に対応するプログラムモジュールが生成される。CPU1は、夫々のプログラムモジュールを実行することによって、対応する機能構成部として機能する。なお、指令生成プログラム4をインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、指令生成プログラム4のロード元となる記録媒体として、外部記憶装置、着脱可能なメモリデバイス、光ディスク装置を採用することが可能である。
 なお、起動待機時間演算部110、起動待機部120、指令演算部130、および位置更新部140は、CPU1、即ちソフトウェアにより実現されるものとして説明するが、これらのうちの一部もしくは全部は、ハードウェアおよびソフトウェアのいずれか、または両者の組み合わせとして実現するようにしてもよい。
 図6は、指令生成装置100によって実行される、実施の形態1の指令生成方法を説明するフローチャートである。図示するように、まず、起動待機時間演算部110は、外部から入力される目標位置X1、X2および目標速度V1、V2と、位置更新部140で演算される各軸の現在の指令位置xo1、xo2とを取得する(ステップS1)。そして、起動待機時間演算部110は、自軸および他軸の目標位置の差を計算し、目標位置が安全距離Ds以内であるか否かを判定する(ステップS2)。自軸および他軸の目標位置の差が安全距離Ds未満である場合(ステップS2、Yes)、干渉を回避することなく自軸の移動を実行せしめることができないので、指令生成装置100は、自軸の運転開始をキャンセルし(ステップS3)、指令生成装置100は動作を終了する。
 なお、指令生成装置100が自軸の運転開始をキャンセルするとは、例えば、指令生成装置100が、自軸を駆動する指令の出力を禁止し、指令生成装置100が自軸を駆動する指令の出力を禁止している場合には、指令演算部130が指令速度xo1を出力しないようにすることで実現される。自軸および他軸の目標位置の差が安全距離Ds以上である場合には、指令生成装置100は、自軸を駆動する指令の出力を許可し、自軸を駆動する指令の出力が許可されている場合には、指令演算部130は、起動待機部120からの起動指令を受信したときに自軸を駆動する指令を出力することができる。
 なお、指令生成装置100は、自軸の運転開始をキャンセルした場合に、オペレータにエラーを通知するなどの所定のエラー処理を実行するようにしてもよい。また、起動待機時間演算部110は、ステップS2の処理に併せて、他軸と自軸とが交差するか否かを判定するようにし、他軸と自軸とが交差する場合にもステップS3の処理が実行されるようにしてもよい。
 自軸および他軸の目標位置の差が安全距離Ds以上である場合(ステップS2、No)、指令生成装置100は、他軸の位置決めを開始する(ステップS4)。具体的には、起動待機時間演算部110は、起動待機部120に指令して他軸を起動する起動指令を指令演算部130に出力せしめ、前記他軸を起動する起動指令を受信した指令演算部130は、目標位置X2および目標速度V2に基づいて制御周期毎の他軸の指令速度vo2を算出し、出力する。
 続いて、起動待機時間演算部110は、他軸が停止中であるか否かの判定(ステップS5)と、他軸が自軸から離れる方向に移動中であるか否かの判定(ステップS6)とを実行する。起動待機時間演算部110は、ステップS5およびステップS6の判定を、位置更新部140が算出する現在の指令位置xo2と目標位置xo2との差分に基づいて判定することができる。他軸が停止している場合(ステップS5、Yes)、または他軸が自軸に近づく方向に移動中である場合(ステップS6、No)、起動待機時間演算部110は、起動待機時間Twをゼロ値とする(ステップS7)。
 他軸が移動中であり(ステップS5、No)、かつ、他軸の移動方向が自軸から離れる方向である場合(ステップS6、Yes)、起動待機時間演算部110は、干渉を回避するための自軸の起動待機時間Twを算出する待機時間算出処理を実行する(ステップS8)。
 図7は、実施の形態1の待機時間算出処理を説明するフローチャートである。なお、ここでは、便宜上、自軸および他軸の動作方向がともにプラス方向である場合について説明するが、自軸および他軸の動作方向がともにマイナス方向である場合であっても同様の動作が可能である。まず、起動待機時間演算部110は、p2[t]=X1+Dsとなる時間Tbを算出する(ステップS21)。なお、起動待機時間演算部110は、時刻Tbを算出するためには、例えば、一定時間間隔ごとにtを増減させてp2[t]=X1+Dsとなる時間Tbを探索することができる。ただし、繰り返し判断を行うため、計算コスト(処理時間)が問題になる場合、起動待機時間演算部110は、反復法(挟み撃ち法・二分法など)に代表される数値解析に基づいて時刻Tbを演算するようにしてもよい。続いて、起動待機時間演算部110は、w1[t]=w2[Tb]となる時間Taを算出する(ステップS22)。なお、w1[t]の減速区間にw2[t]が含まれる場合、起動待機時間演算部110は、w1[t]の逆関数に基づいて時刻Taを演算するようにしてもよい。また、w1[t]<w2[Tb]の場合(Taが求まらない場合)、起動待機時間演算部110は、減速開始時の時刻をTaとするようにしてもよい。続いて、起動待機時間演算部110は、起動待機時間Tw=Tb-Taを算出し(ステップS23)、待機時間算出処理を終了する。
 ステップS7またはステップS8にて算出された起動待機時間Twは、起動待機部120に入力される。ステップS7またはステップS8の処理の後、起動待機部120は、起動待機時間Twだけ待機する(ステップS9)。即ち、起動待機部120は、他軸の起動指令を出力してから起動待機時間Twが経過するまで待機する。起動待機時間Twが経過した後、指令生成装置100は、自軸の位置決めを開始する(ステップS10)。具体的には、起動待機部120は、自軸の起動指令を指令演算部130に入力し、自軸の起動指令が入力された指令演算部130は、目標速度V1および目標速度V1に基づいて速度指令vo1を算出し、出力する。自軸および他軸が位置決めによりともに目標位置に到達すると、指令生成装置100は、動作を終了する。
 なお、以上の説明においては、他軸が1つしかない場合について説明したが、他軸が複数存在する場合には、指令生成装置100は、ステップS2~ステップS8の処理を他軸毎に実行し、ステップS3の処理を実行しない場合において、他軸毎の起動待機時間Twの最大値を用いてステップS9の処理を実行することで、自軸と他軸との干渉を回避することができる。
 このように、実施の形態1によれば、自軸(第1の可動軸)と他軸(第2の可動軸)との間の安全距離(干渉距離)と、自軸および他軸の運転パターンとに基づいて、運転中に双方の可動軸間の距離が安全距離よりも常時大きくなるように自軸の運転開始タイミングを遅延せしめる待機時間を算出する起動待機時間演算部110と、他軸の運転パターンに基づいて他軸を駆動する指令の出力を開始し、他軸にかかる指令の出力開始後から前記算出された待機時間が経過したとき、自軸の運転パターンに基づいて自軸を駆動する指令の出力を開始する、指令出力部として機能する、起動待機部120および指令演算部130と、を備えるように指令生成装置100を構成したので、指令生成装置100は、自軸の運転パターンに基づく指令の出力を遅延せしめることで自軸と他軸との干渉を回避することができるので、可動軸の運転パターンを変更することなく干渉回避動作を実現することができる。
 また、起動待機時間演算部110は、自軸および他軸の目標位置および現在指令位置に基づいて、他軸が自軸に近づく方向に移動しているか、他軸が自軸から離れる方向に移動しているか、または他軸が停止しているかを判定し、他軸が自軸に近づく方向に移動している場合と、他軸が停止している場合には、待機時間をゼロ値とする、ようにしたので、双方の可動軸の目標位置のみから干渉が回避不可能であると判断できる場合には起動待機時間演算部110は待機時間の演算を省略することができるので、指令生成装置100の計算コストを低減することができるようになる。
 また、起動待機時間演算部110は、指令位置p2[t]が自軸の目標位置と安全距離との合算値と一致する時刻Tbを演算し、自軸の指令速度w1[t]が他軸の指令速度w2[Tb]と一致する時刻Taを演算し、時刻Tbから時刻Taを減算し、当該減算により得られた値を前記待機時間とする、ように構成したので、安全距離が双方の可動軸間の静止状態でのオフセット距離と双方の可動軸の緊急停止開始から停止完了するまでの移動量とを合算して得られる値である場合に、可動軸の運転パターンを変更することなく干渉回避動作を実現することができる。
 また、起動待機時間演算部110は、双方の可動軸の目標位置間の距離が安全距離よりも大きいか否かを判定し、双方の可動軸の目標位置間の距離が安全距離よりも大きい場合、自軸を駆動する指令の出力を許可し、双方の可動軸の目標位置間の距離が安全距離よりも小さい場合、自軸を駆動する指令の出力を禁止する、安全確認部として機能する、ようにしたので、双方の可動軸の目標位置のみから干渉が回避不可能であると判断できる場合には、待機時間を算出することなく自軸の運転をキャンセルすることができる。
 また、起動待機時間演算部110は、双方の可動軸が交差するか否かを判定し、双方の可動軸が交差しない場合、自軸を駆動する指令の出力を許可し、双方の可動軸が交差する場合には、自軸を駆動する指令の出力を禁止する、ように構成したので、双方の可動軸間の距離が安全距離よりも離れていたとしても双方の可動軸が交差する場合には自軸の運転をキャンセルすることができる。
実施の形態2.
 実施の形態2の指令生成装置は、安全距離として、減速移動量を含まない値を入力とすることができる。図8-1および図8-2は、実施の形態2において使用される安全距離を説明する図である。図示するように、自軸および他軸が互いに近づく方向に移動する場合であっても、他軸が自軸に対して離れる方向に移動する場合であっても、軸間のオフセットが安全距離として使用される。
 図9は、本発明の実施の形態2にかかる指令生成装置の機能構成を示すブロック図である。ここでは、実施の形態1の構成要素と同様の構成要素には、実施の形態1と同じ名称および符号を付して、重複する説明を省略する。
 図示するように、指令生成装置200は、起動待機時間演算部210、起動待機部120、指令演算部130、および位置更新部140を備えている。
 起動待機時間演算部210は、目標位置X1、X2と、目標速度V1、V2と、安全距離と、指令生成装置100内部の位置更新部140で演算される各軸の現在の指令位置xo1、xo2と、に基づいて、実施の形態2の待機時間算出処理を実行する。
 実施の形態2の待機時間算出においては、自軸および他軸について、指令速度w[t]から減速度dccに従って減速停止させた場合の減速量を加算した指令位置関数pd[t]と、指令位置関数pd[t]の微分から得られる、指令速度関数wd[t]が使用される。即ち、指令位置関数pd[t]、指令速度関数wd[t]は、夫々、以下の式2および式3により記述される。
 pd[t]=p[t]-w[t]2/(2×dcc)   (式2)
 wd[t]=w[t]×(1-w’[t]/dcc)   (式3)
なお、w’[t]は、w[t]を微分したものを示す。
 図10は、実施の形態2の待機時間算出処理を説明するフローチャートである。図示するように、起動待機時間演算部210は、まず、p2[t]=X1+Dsとなる時間Tbを算出する(ステップS31)。そして、起動待機時間演算部210は、wd1[t]=wd2[Tb]となる時間Taを算出する(ステップS32)。そして、起動待機時間演算部210は、起動待機時間Tw=Tb-Taを算出し(ステップS33)、待機時間算出処理を終了する。
 図11は、実施の形態2の指令生成装置200により干渉が回避される様子を説明する図である。図示するように、指令生成装置200によれば、減速移動量を含まない安全距離が入力されても、他軸の指令位置関数と自軸の指令位置関数とが交差しないように、減速移動量を考慮して自軸の指令位置関数が遅延せしめられるので、干渉が回避される。
 このように、実施の形態2によれば、起動待機時間演算部210は、指令位置p1[t]に自軸の減速移動量を加算して得られる関数pd1[t]と、関数pd1[t]を時間微分して得られる関数wd1[t]と、指令位置p2[t]に他軸の減速移動量を加算して得られる関数pd2[t]と、関数pd2[t]を時間微分して得られる関数wd2[t]と、を求め、関数pd2[t]の値が自軸の目標位置と安全距離との合算値と一致する時刻Tbを演算し、関数wd1[t]の値が関数wd2[t]にt=Tbを代入した値と一致する時刻Taを演算し、時刻Tbから時刻Taを減算し、当該減算により得られた値を前記待機時間とする、ように構成したので、ユーザは、双方の軸の減速移動量を考慮することなく、双方の可動軸間の静止状態でのオフセット距離を安全距離として入力することが可能となるので、安全距離の設定値の検討を簡略化することが可能となる。
 以上のように、本発明にかかる指令生成装置および指令生成方法は、複数の可動軸を備えた各種産業機械を駆動するための指令を生成する指令生成装置および指令生成方法に適用して好適である。
 1 CPU
 2 RAM
 3 ROM
 4 指令生成プログラム
 100 指令生成装置
 110 起動待機時間演算部
 120 起動待機部
 130 指令演算部
 140 位置更新部
 150 モータ駆動制御部
 200 指令生成装置
 210 起動待機時間演算部
 

Claims (13)

  1.  被制御装置が具備する第1の可動軸と第2の可動軸とを夫々駆動する指令を生成する指令生成装置であって、
     前記第1の可動軸と前記第2の可動軸との間の干渉距離と、前記第1の可動軸および前記第2の可動軸の運転パターンとに基づいて、運転中に双方の可動軸間の距離が干渉距離よりも常時大きくなるように前記第1の可動軸の運転開始タイミングを遅延せしめる待機時間を算出する待機時間演算部と、
     前記第2の可動軸の運転パターンに基づいて前記第2の可動軸を駆動する指令の出力を開始し、前記第2の可動軸にかかる指令の出力開始後から前記算出された待機時間が経過したとき、前記第1の可動軸の運転パターンに基づいて前記第1の可動軸を駆動する指令の出力を開始する、指令出力部と、
     を備えることを特徴とする指令生成装置。
  2.  前記待機時間演算部は、双方の可動軸の目標位置および現在指令位置に基づいて、前記第2の可動軸が前記第1の可動軸に近づく方向に移動しているか、前記第1の可動軸から離れる方向に移動しているか、または停止しているかを判定し、前記第2の可動軸が前記第1の可動軸に近づく方向に移動している場合と、前記第2の可動軸が停止している場合には、前記待機時間をゼロ値とする、
     ことを特徴とする請求項1に記載の指令生成装置。
  3.  前記干渉距離は、双方の可動軸間の静止状態でのオフセット距離と双方の可動軸の緊急停止開始から停止完了するまでの移動量とを合算して得られる、外部から設定される値であって、
     前記第1の可動軸の運転パターンは、時間tの関数である指令位置p1[t]または前記指令位置p1[t]を時間微分して得られる指令速度w1[t]で記述され、前記第2の可動軸の運転パターンは、指令位置p2[t]または前記指令位置p2[t]を時間微分して得られる指令速度w2[t]で記述され、
     前記待機時間演算部は、前記指令位置p2[t]が前記第1の可動軸の目標位置と前記干渉距離との合算値と一致する時刻Tbを演算し、前記第1の可動軸の指令速度w1[t]が前記第2の可動軸の指令速度w2[Tb]と一致する時刻Taを演算し、時刻Tbから時刻Taを減算し、当該減算により得られた値を前記待機時間とする、
     ことを特徴とする請求項1または請求項2に記載の指令生成装置。
  4.  前記双方の可動軸の目標位置間の距離が前記干渉距離よりも大きいか否かを判定し、前記双方の可動軸の目標位置間の距離が前記干渉距離よりも大きい場合、前記第1の可動軸を駆動する指令の出力を許可し、前記双方の可動軸の目標位置間の距離が前記干渉距離よりも小さい場合、前記第1の可動軸を駆動する指令の出力を禁止する、安全確認部をさらに備える、ことを特徴とする請求項3に記載の指令生成装置。
  5.  前記安全確認部は、双方の可動軸が交差するか否かを判定し、双方の可動軸が交差しない場合、前記第1の可動軸を駆動する指令の出力を許可し、双方の可動軸が交差する場合には、前記第1の可動軸を駆動する指令の出力を禁止する、
     ことを特徴とする請求項4に記載の指令生成装置。
  6.  前記干渉距離は、双方の可動軸の緊急停止開始から停止完了するまでの移動量と外部から設定される双方の可動軸間の静止状態でのオフセット距離とを合算して得られる値であって、
     前記第1の可動軸の運転パターンは、時間tの関数である指令位置p1[t]または前記指令位置p1[t]を時間微分して得られる指令速度w1[t]で記述され、前記第2の可動軸の運転パターンは、指令位置p2[t]または前記指令位置p2[t]を時間微分して得られる指令速度w2[t]で記述され、
     前記待機時間演算部は、前記指令位置p1[t]に前記第1の可動軸が緊急停止開始から停止完了するまでの移動量を加算して得られる関数pd1[t]と、前記関数pd1[t]を時間微分して得られる関数wd1[t]と、前記指令位置p2[t]に前記第2の可動軸が緊急停止開始から停止完了するまでの移動量を加算して得られる関数pd2[t]と、前記関数pd2[t]を時間微分して得られる関数wd2[t]と、を求め、
     前記指令位置pd2[t]が前記第1の可動軸の目標位置と前記オフセット距離との合算値と一致する時刻Tbを演算し、前記関数wd1[t]が前記関数wd2[t]にt=Tbを代入した値と一致する時刻Taを演算し、時刻Tbから時刻Taを減算し、当該減算により得られた値を前記待機時間とする、
     ことを特徴とする請求項1または請求項2に記載の指令生成装置。
  7.  前記双方の可動軸の目標位置間の距離が前記オフセット距離よりも大きいか否かを判定し、前記双方の可動軸の目標位置間の距離が前記オフセット距離よりも大きい場合、前記第1の可動軸を駆動する指令の出力を許可し、前記双方の可動軸の目標位置間の距離が前記オフセット距離よりも小さい場合、前記第1の可動軸を駆動する指令の出力を禁止する、安全確認部をさらに備える、ことを特徴とする請求項6に記載の指令生成装置。
  8.  前記安全確認部は、双方の可動軸が交差するか否かを判定し、双方の可動軸が交差しない場合、前記第1の可動軸を駆動する指令の出力を許可し、双方の可動軸が交差する場合には、前記第1の可動軸を駆動する指令の出力を禁止する、
     ことを特徴とする請求項7に記載の指令生成装置。
  9.  前記指令出力部は、前記算出された待機時間がゼロ値よりも小さい場合には、前記第2の可動軸にかかる指令の出力開始と同時に前記第1の可動軸を駆動する指令の出力を開始し、前記算出された待機時間がゼロ値よりも大きい場合には、前記第2の可動軸にかかる指令の出力開始後から前記算出された待機時間が経過したとき、前記第1の可動軸の運転パターンに基づいて前記第1の可動軸を駆動する指令の出力を開始する、
     ことを特徴とする請求項1乃至請求項8のうちの何れか一項に記載の指令生成装置。
  10.  前記被制御装置は、前記第2の可動軸を複数備える、ことを特徴とする請求項1乃至請求項8のうちの何れか一項に記載の指令生成装置。
  11.  被制御装置が具備する第1の可動軸と第2の可動軸とを夫々駆動する指令を生成する指令生成方法であって、
     前記第1の可動軸と前記第2の可動軸との間の干渉距離と、前記第1の可動軸および前記第2の可動軸の運転パターンとに基づいて、運転中に双方の可動軸間の距離が干渉距離よりも常時大きくなるように前記第1の可動軸の運転開始タイミングを遅延せしめる待機時間を算出する待機時間演算ステップと、
     前記第2の可動軸の運転パターンに基づいて前記第2の可動軸を駆動する指令の出力を開始する第1開始ステップと、
     前記第1開始ステップの実行後、前記算出された待機時間が経過したとき、前記第1の可動軸の運転パターンに基づいて前記第1の可動軸を駆動する指令の出力を開始する第2開始ステップと、
     を備えることを特徴とする指令生成方法。
  12.  前記干渉距離は、双方の可動軸間の静止状態でのオフセット距離と双方の可動軸の緊急停止開始から停止完了するまでの移動量とを合算して得られる、外部から設定される値であって、
     前記第1の可動軸の運転パターンは、時間tの関数である指令位置p1[t]または前記指令位置p1[t]を時間微分して得られる指令速度w1[t]で記述され、前記第2の可動軸の運転パターンは、指令位置p2[t]または前記指令位置p2[t]を時間微分して得られる指令速度w2[t]で記述され、
     前記待機時間演算ステップは、
     前記指令位置p2[t]が前記第1の可動軸の目標位置と前記干渉距離との合算値と一致する時刻Tbを演算するステップと、
     前記第1の可動軸の指令速度w1[t]が前記第2の可動軸の指令速度w2[Tb]と一致する時刻Taを演算するステップと、
     時刻Tbから時刻Taを減算し、当該減算により得られた値を前記待機時間とするステップと、
     を含むことを特徴とする請求項11に記載の指令生成方法。
  13.  前記干渉距離は、双方の可動軸の緊急停止開始から停止完了するまでの移動量と外部から設定される双方の可動軸間の静止状態でのオフセット距離とを合算して得られる値であって、
     前記第1の可動軸の運転パターンは、時間tの関数である指令位置p1[t]または前記指令位置p1[t]を時間微分して得られる指令速度w1[t]で記述され、前記第2の可動軸の運転パターンは、指令位置p2[t]または前記指令位置p2[t]を時間微分して得られる指令速度w2[t]で記述され、
     前記待機時間演算ステップは、
     前記指令位置p1[t]に前記第1の可動軸が緊急停止開始から停止完了するまでの移動量を加算して得られる関数pd1[t]と、前記関数pd1[t]を時間微分して得られる関数wd1[t]と、前記指令位置p2[t]に前記第2の可動軸が緊急停止開始から停止完了するまでの移動量を加算して得られる関数pd2[t]と、前記関数pd2[t]を時間微分して得られる関数wd2[t]と、を求めるステップと、
     前記指令位置pd2[t]が前記第1の可動軸の目標位置と前記オフセット距離との合算値と一致する時刻Tbを演算するステップと、
     前記関数wd1[t]が前記関数wd2[t]にt=Tbを代入した値と一致する時刻Taを演算するステップと、
     時刻Tbから時刻Taを減算し、当該減算により得られた値を前記待機時間とするステップと、
     を含むことを特徴とする請求項11に記載の指令生成方法。
PCT/JP2012/056273 2012-03-12 2012-03-12 指令生成装置および指令生成方法 WO2013136412A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2012/056273 WO2013136412A1 (ja) 2012-03-12 2012-03-12 指令生成装置および指令生成方法
KR1020147020230A KR101535046B1 (ko) 2012-03-12 2012-03-12 지령 생성 장치 및 지령 생성 방법
JP2012539136A JP5220241B1 (ja) 2012-03-12 2012-03-12 指令生成装置および指令生成方法
CN201280069582.8A CN104106016B (zh) 2012-03-12 2012-03-12 指令生成装置以及指令生成方法
TW101129686A TWI481977B (zh) 2012-03-12 2012-08-16 指令產生裝置及指令產生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/056273 WO2013136412A1 (ja) 2012-03-12 2012-03-12 指令生成装置および指令生成方法

Publications (1)

Publication Number Publication Date
WO2013136412A1 true WO2013136412A1 (ja) 2013-09-19

Family

ID=48778735

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/056273 WO2013136412A1 (ja) 2012-03-12 2012-03-12 指令生成装置および指令生成方法

Country Status (5)

Country Link
JP (1) JP5220241B1 (ja)
KR (1) KR101535046B1 (ja)
CN (1) CN104106016B (ja)
TW (1) TWI481977B (ja)
WO (1) WO2013136412A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018101338A (ja) * 2016-12-21 2018-06-28 ファナック株式会社 数値制御装置
JP7494575B2 (ja) 2020-05-29 2024-06-04 ブラザー工業株式会社 制御装置、工作機械、制御方法、及び制御プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015173865A1 (ja) * 2014-05-12 2015-11-19 三菱電機株式会社 位置決め装置
CN110825035A (zh) * 2019-11-28 2020-02-21 苏州威兹泰克软件科技有限公司 多轴设备控制方法、计算设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06238542A (ja) * 1993-02-16 1994-08-30 Mori Seiki Co Ltd 安全装置付き機械
JPH11347984A (ja) * 1998-06-02 1999-12-21 Nissan Motor Co Ltd ロボット制御装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251320A (ja) * 1996-03-14 1997-09-22 Nissan Motor Co Ltd ロボット衝突防止システム
CN1279415C (zh) * 2001-05-16 2006-10-11 时至准钟表股份有限公司 设有梳齿形相对刀具台的数控车床及其制品的加工方法
JP4541218B2 (ja) * 2005-04-08 2010-09-08 三菱電機株式会社 指令生成装置
US20070063367A1 (en) * 2005-09-12 2007-03-22 Litwin Michael W Devices and methods for evaluating alignment of an end of arm tool and a molding apparatus
JP4978494B2 (ja) * 2008-02-07 2012-07-18 トヨタ自動車株式会社 自律移動体、及びその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06238542A (ja) * 1993-02-16 1994-08-30 Mori Seiki Co Ltd 安全装置付き機械
JPH11347984A (ja) * 1998-06-02 1999-12-21 Nissan Motor Co Ltd ロボット制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018101338A (ja) * 2016-12-21 2018-06-28 ファナック株式会社 数値制御装置
JP7494575B2 (ja) 2020-05-29 2024-06-04 ブラザー工業株式会社 制御装置、工作機械、制御方法、及び制御プログラム

Also Published As

Publication number Publication date
KR20140102765A (ko) 2014-08-22
JPWO2013136412A1 (ja) 2015-07-30
KR101535046B1 (ko) 2015-07-07
TW201337485A (zh) 2013-09-16
JP5220241B1 (ja) 2013-06-26
TWI481977B (zh) 2015-04-21
CN104106016A (zh) 2014-10-15
CN104106016B (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
US7902785B2 (en) Method and device for guiding the movement of a moveable machine element of a machine
JP5229396B2 (ja) 位置決め制御装置
JP5220241B1 (ja) 指令生成装置および指令生成方法
JP6392805B2 (ja) 複数モータ駆動用サーボ制御装置
JP5389251B2 (ja) 並列駆動システム
Mesmer et al. Robust design of independent joint control of industrial robots with secondary encoders
KR101916894B1 (ko) 모터 제어장치
JP2009110492A (ja) 位置制御装置
JPWO2013054662A1 (ja) サーボ制御装置
JP2017127964A (ja) 学習機能を備えたロボット装置
JP2017041075A (ja) モータ制御装置、位置制御システム、及びモータ制御方法
JP5030628B2 (ja) 干渉チェックシステム
JP5362146B1 (ja) 数値制御装置および数値制御システム
JP5832382B2 (ja) 数値制御装置
JP6444969B2 (ja) 数値制御装置
KR101630141B1 (ko) 지령 생성 장치
JP2012137990A (ja) 数値制御装置、移動制御方法、移動制御プログラム及び記憶媒体
JP2007052590A (ja) 数値制御装置と数値制御方法
KR20090107864A (ko) 속도 프로파일 생성 장치, 모터 제어 장치 및 방법
JP7502135B2 (ja) ロボットプログラム調整装置
KR20130013096A (ko) 산업용 로봇의 서보 제어 방법
KR20130088595A (ko) 모션 프로파일 생성방법
JP6926882B2 (ja) ロボットの制御装置
Yalamanchili et al. Enhanced Time-Optimal Filter-Based Point-to-Point Trajectory Generation with Vibration Suppression
JP6966415B2 (ja) 制御方法、制御装置及びプログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2012539136

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 12870970

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20147020230

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12870970

Country of ref document: EP

Kind code of ref document: A1