JP6773243B1 - Controls, methods and programs - Google Patents
Controls, methods and programs Download PDFInfo
- Publication number
- JP6773243B1 JP6773243B1 JP2020042344A JP2020042344A JP6773243B1 JP 6773243 B1 JP6773243 B1 JP 6773243B1 JP 2020042344 A JP2020042344 A JP 2020042344A JP 2020042344 A JP2020042344 A JP 2020042344A JP 6773243 B1 JP6773243 B1 JP 6773243B1
- Authority
- JP
- Japan
- Prior art keywords
- point
- head
- locus
- movement cost
- current point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
- H05K13/08—Monitoring manufacture of assemblages
- H05K13/0882—Control systems for mounting machines or assembly lines, e.g. centralized control, remote links, programming of apparatus and processes as such
Abstract
【課題】制御装置のモーターの負荷を抑制するようにヘッドによる各ポイントの通過順序を決定する。【解決手段】制御装置100は、ワークを設置するための台座105と、台座の上を移動するヘッド110と、ヘッドを台座の第1の軸方向に移動させるための第1の駆動機構と、ヘッドを台座の第2の軸方向に移動させるための第2の駆動機構と、第1の駆動機構および第2の駆動機構を制御する制御部とを備える。制御部は、ヘッドが、ワークの複数のポイントを通過する場合において、ヘッドが現在のポイントCから次のポイントN1,N2,N3まで曲線軌跡を描く動作で通過したときの移動コストを計算し、移動コストが最少になるようにヘッドの次の移動先のポイントを選定する。【選択図】図1PROBLEM TO BE SOLVED: To determine a passing order of each point by a head so as to suppress a load of a motor of a control device. SOLUTION: A control device 100 includes a pedestal 105 for installing a work, a head 110 for moving on the pedestal, and a first drive mechanism for moving the head in a first axial direction of the pedestal. It includes a second drive mechanism for moving the head in the second axial direction of the pedestal, and a control unit for controlling the first drive mechanism and the second drive mechanism. When the head passes through a plurality of points of the work, the control unit calculates the movement cost when the head passes from the current point C to the next points N1, N2, N3 by drawing a curved locus. Select the point to move next to the head so that the movement cost is minimized. [Selection diagram] Fig. 1
Description
本開示は、制御装置に関し、より特定的には、制御装置のヘッドによるワーク上の各ポイントの通過順序の決定に関する。 The present disclosure relates to the control device, and more specifically to the determination of the passing order of each point on the work by the head of the control device.
ロボットアーム、検査装置、ピックアップ装置およびハンダ付け装置等の制御装置において、各装置に取り付けられたヘッドは、作業台またはワーク上の複数のポイントを通過することで一つの作業を完了することがある。その際、制御装置の作業効率を向上させるために、ヘッドによる各ポイントの最適な通過順序を求めることが重要になる。ここでの「通過順序」とは、ワーク上の複数のポイントの各々を通過する順序を意味する。 In control devices such as robot arms, inspection devices, pickup devices, and soldering devices, the head attached to each device may complete one task by passing through multiple points on the workbench or workpiece. .. At that time, in order to improve the work efficiency of the control device, it is important to obtain the optimum passage order of each point by the head. The "passing order" here means the order of passing through each of a plurality of points on the work.
制御装置のヘッドによるワーク上の各ポイントの通過順序の決定に関し、例えば、特開2017−181188号公報(特許文献1)は、「前記基板の表面側に設定された複数の検査範囲に対応する位置へ前記表面側照射手段及び前記表面側撮像手段を予め定めた検査順序に基づき順次移動させ、当該複数の検査範囲に係る画像取得処理を順次実行すると共に、前記基板の裏面側に設定された複数の検査範囲に対応する位置へ前記裏面側照射手段及び前記裏面側撮像手段を予め定めた検査順序に基づき順次移動させ、当該複数の検査範囲に係る画像取得処理を順次実行する構成であって、前記基板の表面側について、前記表面側照射手段及び前記表面側撮像手段が移動する経路が所定の起点からの最短経路となるよう前記検査順序が設定され、及び/又は、前記基板の裏面側について、前記裏面側照射手段及び前記裏面側撮像手段が移動する経路が所定の起点からの最短経路となるよう前記検査順序が設定されていることを特徴とする」基板検査装置を開示している(段落[0025]参照)。 Regarding the determination of the passing order of each point on the work by the head of the control device, for example, Japanese Patent Application Laid-Open No. 2017-181188 (Patent Document 1) states that "corresponding to a plurality of inspection ranges set on the surface side of the substrate. The front surface side irradiation means and the front surface side imaging means are sequentially moved to a position based on a predetermined inspection order, image acquisition processes related to the plurality of inspection ranges are sequentially executed, and the surface side irradiation means and the front surface side imaging means are set on the back surface side of the substrate. The back surface irradiation means and the back surface imaging means are sequentially moved to positions corresponding to a plurality of inspection ranges based on a predetermined inspection order, and image acquisition processing related to the plurality of inspection ranges is sequentially executed. With respect to the front surface side of the substrate, the inspection order is set so that the path through which the surface side irradiation means and the surface side imaging means move is the shortest path from a predetermined starting point, and / or the back surface side of the substrate. The substrate inspection apparatus is disclosed, wherein the inspection order is set so that the path through which the backside irradiation means and the backside imaging means move is the shortest path from a predetermined starting point. " (See paragraph [0025]).
特許文献1に開示された技術によると、制御装置のモーターの負荷を抑制するようにヘッドによる各ポイントの通過順序を決定することができない。したがって、制御装置のモーターの負荷を抑制するようにヘッドによる各ポイントの通過順序を決定する技術が必要とされている。
According to the technique disclosed in
本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、制御装置のモーターの負荷を抑制するようにヘッドによる各ポイントの通過順序を決定する技術を提供することにある。 The present disclosure has been made in view of the above background, and an object in a certain aspect is to provide a technique for determining the passing order of each point by the head so as to suppress the load on the motor of the control device. There is.
本開示の一例では、制御装置が提供される。当該制御装置は、ワークを設置するための台座と、台座の上を移動するヘッドと、ヘッドを台座の第1の軸方向に移動させるための第1の駆動機構と、ヘッドを台座の第2の軸方向に移動させるための第2の駆動機構と、第1の駆動機構および第2の駆動機構を制御する制御部とを備える。制御部は、ヘッドが、ワークの複数のポイントを通過する場合において、ヘッドが現在のポイントから次のポイントまで曲線軌跡を描く動作で通過したときの移動コストを計算し、移動コストが最少になるようにヘッドの次の移動先のポイントを選定する。 In one example of the present disclosure, a control device is provided. The control device includes a pedestal for installing a work, a head for moving on the pedestal, a first drive mechanism for moving the head in the first axial direction of the pedestal, and a second head on the pedestal. A second drive mechanism for moving in the axial direction of the above, and a control unit for controlling the first drive mechanism and the second drive mechanism are provided. When the head passes through multiple points of the work, the control unit calculates the movement cost when the head passes by the operation of drawing a curved locus from the current point to the next point, and the movement cost is minimized. Select the point to move next to the head so as to.
上記の開示によれば、制御装置は、ヘッドが各ポイントを曲線の軌跡を描いて通過するのに適した各ポイントの通過順序を求めることができる。 According to the above disclosure, the control device can determine the passing order of each point suitable for the head to pass each point in a curved trajectory.
上記の開示において、曲線軌跡は、ヘッドの直前のポイントと、現在のポイントと、次のポイントとに接する円上を通過する軌跡である。 In the above disclosure, the curved locus is a locus that passes on a circle tangent to the point immediately before the head, the current point, and the next point.
上記の開示によれば、制御装置は、ヘッドの直前のポイントと、現在のポイントと、次のポイントに基づいて、現在のポイントから次のポイントまでの曲線軌跡における移動コストを算出することができる。 According to the above disclosure, the control device can calculate the movement cost in the curve trajectory from the current point to the next point based on the point immediately before the head, the current point, and the next point. ..
上記の開示において、制御部は、ヘッドの直前のポイントと、現在のポイントとを通過する線分上にあるポイントPを求める。ポイントPから現在のポイントまでの距離と、現在のポイントから次のポイントまでの距離とは等しく、曲線軌跡は、ポイントPと、現在のポイントと、次のポイントとに接する円上を通過する軌跡である。 In the above disclosure, the control unit obtains a point P on a line segment passing through the point immediately before the head and the current point. The distance from point P to the current point is equal to the distance from the current point to the next point, and the curve locus is the locus that passes on the point P, the current point, and the circle tangent to the next point. Is.
上記の開示によれば、制御装置は、ポイントPを使用することで、現在のポイントから次のポイントまでの曲線軌跡における移動コストと、実際の制御装置の移動距離との誤差を小さくすることができる。 According to the above disclosure, the control device can reduce the error between the movement cost in the curve trajectory from the current point to the next point and the movement distance of the actual control device by using the point P. it can.
上記の開示において、制御部は、直前のポイントと、現在のポイントと、次のポイントとが直線上に並ぶか否かを判定し、直前のポイントと、現在のポイントと、次のポイントとが直線上に並ぶ場合、ヘッドが現在のポイントから次のポイントまでを直線軌跡を描く動作で通過したときの移動コストを計算し、直前のポイントと、現在のポイントと、次のポイントとが直線上に並ばない場合、ヘッドが現在のポイントから次のポイントまでを曲線軌跡を描く動作で通過したときの移動コストを計算する。 In the above disclosure, the control unit determines whether or not the immediately preceding point, the current point, and the next point are aligned on a straight line, and the immediately preceding point, the current point, and the next point are determined. When lining up on a straight line, the movement cost when the head passes from the current point to the next point by drawing a straight trajectory is calculated, and the previous point, the current point, and the next point are on the straight line. If the heads do not line up with, the movement cost when the head passes from the current point to the next point by drawing a curved locus is calculated.
上記の開示によれば、制御装置は、直前のポイントと、現在のポイントと、次のポイントとの位置関係に基づいて、適切な計算方法で移動コストを計算することができる。 According to the above disclosure, the control device can calculate the movement cost by an appropriate calculation method based on the positional relationship between the immediately preceding point, the current point, and the next point.
上記の開示において、制御部は、ヘッドのポイントの通過順序の決定後に、ヘッドが各ポイントを通過するときの通過経路がヘッドの最小旋回半径以上となるように、ヘッドの通過経路を決定する。 In the above disclosure, after determining the passing order of the points of the head, the control unit determines the passing path of the head so that the passing path when the head passes each point is equal to or larger than the minimum turning radius of the head.
上記の開示によれば、制御装置は、ヘッドを駆動する駆動部にかかる負荷を抑制しつつ、決定した通過順序に基づいてヘッドを移動させることができる。 According to the above disclosure, the control device can move the head based on the determined passage order while suppressing the load applied to the drive unit that drives the head.
上記の開示において、制御部は、ヘッドが曲線軌跡を描く動作で通過したときの移動コストに基づいて、ヘッドのポイントの通過順序を決定した後に、2−opt法によりヘッドのポイントの通過順序を変更する。 In the above disclosure, the control unit determines the passing order of the points of the head based on the movement cost when the head passes by the motion of drawing a curved locus, and then determines the passing order of the points of the head by the 2-opt method. change.
上記の開示によれば、制御装置は、2−opt法により通過順序を変更することで、ヘッドの移動距離を削減することができる。 According to the above disclosure, the control device can reduce the moving distance of the head by changing the passing order by the 2-opt method.
上記の開示において、制御部は、ヘッドが曲線軌跡を描く動作で通過したときの移動コストの計算方法と、ヘッドが直線軌跡を描く動作で通過したときの移動コストの計算方法との選択の入力を受け付ける。ヘッドが直線を描く動作で通過したときの移動コストの計算方法は、現在のポイントから次のポイントまでの距離の誤差許容値が0より大きいとき、現在のポイントを頂点としたときの、直前のポイントおよび現在のポイントを結ぶ線分と、現在のポイントおよび次のポイントを結ぶ線分との角度が180度から小さくなるほど移動コストが増加する。 In the above disclosure, the control unit inputs a selection between a method of calculating the movement cost when the head passes by the operation of drawing a curved locus and a method of calculating the movement cost when the head passes by the operation of drawing a straight line locus. Accept. The calculation method of the movement cost when the head passes in a straight line is when the error tolerance of the distance from the current point to the next point is greater than 0, and when the current point is set as the apex, immediately before. The movement cost increases as the angle between the line segment connecting the point and the current point and the line segment connecting the current point and the next point decreases from 180 degrees.
上記の開示によれば、制御部は、直線軌跡を描く動作で通過したときの移動コストの計算方法において、ヘッドの進行ルートに近いポイントを優先して選択することができる。 According to the above disclosure, the control unit can preferentially select a point close to the traveling route of the head in the calculation method of the movement cost when passing by the operation of drawing a straight line locus.
本開示の他の例では、制御装置におけるヘッドのワーク上の各ポイントの通過順序を求める方法が提供される。当該方法は、ヘッドが、ワーク上の複数のポイントを通過する場合において、ヘッドが現在のポイントから次のポイントまで曲線軌跡を描く動作で通過したときの移動コストを計算するステップと、移動コストが最少になるようにヘッドの次の移動先のポイントを選定するステップとを含む。 Another example of the present disclosure provides a method of determining the passing order of each point on the work of the head in the control device. In this method, when the head passes through multiple points on the work, the step of calculating the movement cost when the head passes by the operation of drawing a curved locus from the current point to the next point, and the movement cost are It includes a step of selecting the next destination point of the head so as to be the minimum.
上記の開示によれば、ヘッドが各ポイントを曲線の軌跡を描いて通過するのに適した各ポイントの通過順序を求めることができる。 According to the above disclosure, it is possible to determine the passing order of each point suitable for the head to pass through each point in a curved trajectory.
上記の開示において、曲線軌跡は、ヘッドの直前のポイントと、現在のポイントと、次のポイントとに接する円上を通過する軌跡である。 In the above disclosure, the curved locus is a locus that passes on a circle tangent to the point immediately before the head, the current point, and the next point.
上記の開示によれば、ヘッドの直前のポイントと、現在のポイントと、次のポイントに基づいて、現在のポイントから次のポイントまでの曲線軌跡における移動コストを算出することができる。 According to the above disclosure, the movement cost in the curve trajectory from the current point to the next point can be calculated based on the point immediately before the head, the current point, and the next point.
上記の開示において、方法は、ヘッドの直前のポイントと、現在のポイントとを通過する線分上にあるポイントPを求めるステップをさらに含む。ポイントPから現在のポイントまでの距離と、現在のポイントから次のポイントまでの距離とは等しく、曲線軌跡は、ポイントPと、現在のポイントと、次のポイントとに接する円上を通過する軌跡である。 In the above disclosure, the method further comprises the step of finding the point P on the line segment passing through the point immediately preceding the head and the current point. The distance from point P to the current point is equal to the distance from the current point to the next point, and the curve locus is the locus that passes on the point P, the current point, and the circle tangent to the next point. Is.
上記の開示によれば、ポイントPを使用することで、現在のポイントから次のポイントまでの曲線軌跡における移動コストと、実際の制御装置の移動距離との誤差を小さくすることができる。 According to the above disclosure, by using the point P, it is possible to reduce the error between the movement cost in the curve locus from the current point to the next point and the movement distance of the actual control device.
上記の開示において、方法は、直前のポイントと、現在のポイントと、次のポイントとが直線上に並ぶか否かを判定するステップと、直前のポイントと、現在のポイントと、次のポイントとが直線上に並ぶ場合、ヘッドが現在のポイントから次のポイントまでを直線軌跡を描く動作で通過したときの移動コストを計算するステップと、直前のポイントと、現在のポイントと、次のポイントとが直線上に並ばない場合、ヘッドが現在のポイントから次のポイントまでを曲線軌跡を描く動作で通過したときの移動コストを計算するステップとをさらに含む。 In the above disclosure, the method is a step of determining whether the previous point, the current point, and the next point are aligned on a straight line, the previous point, the current point, and the next point. When are lined up on a straight line, the step to calculate the movement cost when the head passes from the current point to the next point by drawing a straight trajectory, the previous point, the current point, and the next point Further includes a step of calculating the movement cost when the head passes from the current point to the next point in a curved locus when the heads do not line up on a straight line.
上記の開示によれば、直前のポイントと、現在のポイントと、次のポイントとの位置関係に基づいて、適切な計算方法で移動コストを計算することができる。 According to the above disclosure, the movement cost can be calculated by an appropriate calculation method based on the positional relationship between the immediately preceding point, the current point, and the next point.
上記の開示において、方法は、ヘッドのポイントの通過順序の決定後に、ヘッドが各ポイントを通過するときの通過経路がヘッドの最小旋回半径以上となるように、ヘッドの通過経路を決定するステップをさらに含む。 In the above disclosure, the method determines the passage path of the head so that the passage path when the head passes each point is equal to or larger than the minimum turning radius of the head after the passage order of the points of the head is determined. Including further.
上記の開示によれば、制御装置は、ヘッドを駆動する駆動部にかかる負荷を抑制しつつ、決定した通過順序に基づいてヘッドを移動させることができる。 According to the above disclosure, the control device can move the head based on the determined passage order while suppressing the load applied to the drive unit that drives the head.
上記の開示において、方法は、ヘッドが曲線軌跡を描く動作で通過したときの移動コストに基づいて、ヘッドのポイントの通過順序を決定した後に、2−opt法によりヘッドのポイントの通過順序を変更するステップをさらに含む。 In the above disclosure, the method determines the passing order of the head points based on the movement cost when the head passes in a curved locus, and then changes the passing order of the head points by the 2-opt method. Including additional steps to do.
上記の開示によれば、2−opt法により通過順序を変更することで、ヘッドの移動距離を削減することができる。 According to the above disclosure, the moving distance of the head can be reduced by changing the passing order by the 2-opt method.
上記の開示において、方法は、ヘッドが曲線軌跡を描く動作で通過したときの移動コストの計算方法と、ヘッドが直線軌跡を描く動作で通過したときの移動コストの計算方法との選択の入力を受け付けるステップをさらに含む。ヘッドが直線を描く動作で通過したときの移動コストの計算方法は、現在のポイントから次のポイントまでの距離の誤差許容値が0より大きいとき、現在のポイントを頂点としたときの、直前のポイントおよび現在のポイントを結ぶ線分と、現在のポイントおよび次のポイントを結ぶ線分との角度が180度から小さくなるほど移動コストが増加する。 In the above disclosure, the method inputs a selection of a method of calculating the movement cost when the head passes by the motion of drawing a curved locus and a method of calculating the movement cost when the head passes by the motion of drawing a linear locus. Includes additional accepting steps. The calculation method of the movement cost when the head passes in a straight line is when the error tolerance of the distance from the current point to the next point is greater than 0, and when the current point is set as the apex, immediately before. The movement cost increases as the angle between the line segment connecting the point and the current point and the line segment connecting the current point and the next point decreases from 180 degrees.
上記の開示によれば、直線軌跡を描く動作で通過したときの移動コストの計算方法において、ヘッドの進行ルートに近いポイントを優先して選択することができる。 According to the above disclosure, in the calculation method of the movement cost when passing by the operation of drawing a straight line locus, the point close to the traveling route of the head can be preferentially selected.
本開示の他の例では、上記のいずれかの方法を制御装置に実行させるためのプログラムが提供される。 In another example of the present disclosure, a program is provided for causing the control device to perform any of the above methods.
上記の開示によれば、上記のいずれかに記載の方法を制御装置に実行させることができる。 According to the above disclosure, the control device can be made to perform the method described in any of the above.
ある実施の形態に従うと、制御装置のモーターの負荷を抑制するようにヘッドによる各ポイントの通過順序を決定することが可能である。 According to certain embodiments, it is possible to determine the order of passage of each point by the head so as to reduce the load on the motor of the control device.
この開示内容の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの本開示に関する次の詳細な説明から明らかとなるであろう。 The above and other objectives, features, aspects and advantages of this disclosure will become apparent from the following detailed description of this disclosure, which is understood in connection with the accompanying drawings.
以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 Hereinafter, embodiments of the technical concept according to the present disclosure will be described with reference to the drawings. In the following description, the same parts are designated by the same reference numerals. Their names and functions are the same. Therefore, the detailed description of them will not be repeated.
<A.適用例> <A. Application example>
図1は、本実施の形態に従うヘッド110による各ポイントの通過順序の決定方法の一例を示す図である。図1を参照して、本発明が適用される場面の一例について説明する。なお、これ以降の説明において、通過順序とは、ヘッド110のワーク上の各ポイントの通過順序を意味する。
FIG. 1 is a diagram showing an example of a method of determining the passing order of each point by the
(A−1.装置構成) (A-1. Device configuration)
本実施の形態に従うヘッド110における各ポイントの通過順序の決定方法は、図1に例示される制御装置100に好適に適用可能である。制御装置100は、少なくとも2軸(X軸,Y軸)の駆動機構によって移動するヘッド110と、台座105とを備える。
The method of determining the passing order of each point in the
ヘッド110は、台座105の上を移動する。ここでのヘッド110とは、ロボットアームの先端、検査装置のカメラまたはセンサー、およびピックアップ装置の把持部等の任意の構成を含む。また、制御装置100は、ヘッド110の台座105からの距離(Z軸)を調節するための駆動機構を備えてもよい。
The
駆動機構は、例えば、CNC(Computerized Numerical Control)工作機等の直動機構であってもよいし、ロボットアームまたはスカラー装置等の複数のモーターを組み合わせた関節を含む機構であってもよい。ある局面において、制御装置100は、複数のモーターを組み合わせて2軸(X軸,Y軸)を同時に調整する機構を備えていてもよい。
The drive mechanism may be, for example, a linear motion mechanism such as a CNC (Computerized Numerical Control) machine tool, or a mechanism including joints in which a plurality of motors such as a robot arm or a scalar device are combined. In a certain aspect, the
ある局面において、制御装置100は、液晶パネル等のリペア装置、CNC工作機、ロボットアーム、検査装置、ピックアップ装置、組立装置、ハンダ付け装置等の任意の軸数の駆動機構と、ヘッドとを備える装置であってもよい。
In a certain aspect, the
(A−2.通過順序の選択基準) (A-2. Selection criteria for passing order)
ヘッド110は、その用途に応じて、台座105上の複数のポイントを移動する。例えば、制御装置100が基板の検査装置であり、検査対象の基板(以下、台座105上に設置されるものを「ワーク」と表す)に検査箇所が4つあるとする。その場合、ヘッド110は、台座105上の複数のポイント(検査箇所)(A)〜(D)を通過する経路120上を移動する。制御装置100は、ヘッド110のポイント(A)〜(D)における通過順序を決定するために、例えば、最近傍法等のアルゴリズムを使用し得る。最近傍法等の最短距離を求めるアルゴリズムは、移動コストに基づいて、通過順序を決定する。そのため、当該移動コストが、通過順序の選択基準であるともいえる。
The
制御装置100の作業効率を向上させるためには、ヘッド110の移動距離が最少になる経路を求め、ヘッド110にその経路を通過させればよい。図1の例では、ヘッド110がポイント(A)〜(D)を直線で結ぶ最短経路を通過すれば、制御装置100の作業効率は最大になる。言い換えれば、各ポイント間の直線距離を移動コストとして、通過順序を決定すればよいことになる。
In order to improve the work efficiency of the
しかし、上記の直線移動での最短距離は、駆動機構を駆動させるモーターに大きな負荷を与えるため、機械の寿命を考慮すると好ましくない。そのため、ヘッド110は、モーターの負荷を減らすために、緩やかな円弧の軌跡を描きながら移動することが望ましい。
However, the shortest distance in the linear movement gives a large load to the motor that drives the drive mechanism, which is not preferable in consideration of the life of the machine. Therefore, it is desirable that the
そこで、本実施の形態に従うヘッド110による各ポイントの通過順序の決定方法は、ヘッド110が、現在のポイントから次のポイントまで曲線軌跡を描いて移動することを前提に、曲線での移動距離が最少になる通過順序を決定する。ここでの「ポイント」とは、台座105上での座標により表現されてもよい。言い換えれば、台座105上の「ポイント(X)」とは、「座標(X)」のことである。なお、これ以降の説明において、「N番目のポイント」とは、ヘッド110がN番目に経由するポイントを意味する。
Therefore, in the method of determining the passing order of each point by the
(A−3.ポイント間のコスト計算) (A-3. Cost calculation between points)
本実施の形態に従うヘッド110による各ポイントの通過順序の決定方法において、ヘッド110の次の移動先は以下の手順により決定される。なお、制御装置100は、ヘッド110のN番目のポイントまでの通過順序を決定済みであり、次にN+1番目のポイント(N+1番目の移動先)を決定するとする。
In the method of determining the passing order of each point by the
第1のステップにおいて、制御装置100は、N番目の移動先である現在のポイント(C)と、N−1番目の移動先である直前のポイント(P)との座標を記憶する。第2のステップにおいて、制御装置100は、N+1番目の動作先の候補である次のポイント(N)を選択する。
In the first step, the
第3のステップにおいて、制御装置100は、直前のポイント(P)と、現在のポイント(C)と、次のポイント(N)とを通過する円の大きさに基づいて、現在のポイント(C)から次のポイント(N)までの移動コストを計算する。より具体的には、制御装置100は、ポイント(C)からポイント(N)までの円弧の距離により、現在のポイント(C)から次のポイント(N)までの移動コストを計算する。移動コストは、図1の軌跡角度θTが大きくなるほど増加する。軌跡角度θTは、線分PCに対する角度である。言い換えれば、ポイント(C)を頂点とした場合の線分(PC)と、線分(CN)とからなる角度が鋭角になるほど移動コストは増加する。
In the third step, the
図1の例において、現在のポイント(C)から同距離のポイント(N1)〜(N3)までのそれぞれの移動コストは、軌跡角度θTに基づいて、「移動コスト(ポイント(C)−ポイント(N1))<移動コスト(ポイント(C)−ポイント(N2))<移動コスト(ポイント(C)−ポイント(N3))」になる。よって、制御装置100は、次の移動先として、ポイント(N1)を選択する。制御装置100は、全てのポイントの通過順序を決定し終わるまで、第1のステップ〜第3のステップまでの処理を繰り返す。詳細な計算コストの計算方法については、後述する。
In the example of FIG. 1, each movement cost from the current point (C) to the points (N1) to (N3) at the same distance is "movement cost (point (C) -point" based on the locus angle θ T. (N1)) <Movement cost (point (C) -point (N2)) <Movement cost (point (C) -point (N3)) ". Therefore, the
なお、1番目の移動先を選択する場合、直前のポイント(P)が存在し得ないため、制御装置100は、ヘッドの初期位置から最も近いポイントを最初の移動先に設定してもよい。ある局面において、制御装置100は、移動コストに基づいてヘッド110による各ポイントの通過順序を決定した後に、さらに、2−opt法等を用いて、当該通過順序を修正してもよい。
When selecting the first movement destination, since the immediately preceding point (P) cannot exist, the
(A−4.ヘッド110の動作) (A-4. Operation of head 110)
制御装置100は、ヘッド110による各ポイントの通過順序の決定後、確定した通過順序に沿って、ヘッド110に各ポイントを通過させる。その際、ヘッド110は、ヘッド110が移動可能な最小旋回半径以上の曲線軌跡を描きながら各ポイント間を移動する。ヘッド110が移動可能な最小旋回半径は、ヘッド110を駆動させるモーターおよび駆動機構により決定される。なお、これ以降は、区別のために、ヘッド110が通過する各ポイントの順番を「通過順序」と呼ぶ。これに対して、ヘッド110が各ポイントを通過するときに描く経路を「通過経路」と呼ぶ。
After the
ヘッド110は、上記のコスト計算時に求めた円弧の軌跡を描いて移動する必要はなく、決定された通過順序に従って各ポイントをある程度の曲線的な動きで通過すればよい。上述した移動コストは、あくまでヘッド110が曲線軌跡で各ポイントを通過するときの移動コストの近似値であり、ヘッド110の実際の通過経路の距離は、移動コスト(円弧の距離)と一致する必要はない。
The
上記のように、本実施の形態に従う制御装置100は、ヘッド110が曲線軌跡を描いて移動する場合の移動コストに基づいて、ヘッド110による各ポイントの通過順序を決定する。当該処理により、制御装置100は、ヘッド110を駆動させるモーターおよび駆動機構にかかる負担を抑制すると共に、ヘッド110を効率的に移動させて、制御装置100の作業効率を向上させることができる。
As described above, the
本実施の形態に従うヘッド110による各ポイントの通過順序の決定方法は、ヘッド110が巡回するポイントが予め決まっている装置(液晶パネルのリペア装置、ネジ締め装置またはハンダ付け装置等)に対して、好適に適用することができる。
The method of determining the passing order of each point by the
<B.ハードウェア構成> <B. Hardware configuration>
次に図2〜図4を参照して、本実施の形態に従う通過経路の決定方法を適用可能な制御装置100のハードウェア構成について説明する。これ以降の説明では、制御装置100は、3軸の直動機構を備える装置として説明するが、制御装置100の構成はこれに限られるものではない。ある局面において、制御装置100は、ロボットアーム、スカラー装置等を含む任意の駆動軸を備える装置であってもよい。
Next, with reference to FIGS. 2 to 4, the hardware configuration of the
図2は、制御装置100の駆動機構の一例を示す図である。制御装置100は、X軸の駆動機構201Xと、Y軸の駆動機構201Yと、Z軸の駆動機構201Zと、台座105と、ヘッド110とを備える。各駆動機構を総称する場合は、「駆動機構201」と表すこともある。制御装置100は、駆動機構201X〜201Zを組み合わせて駆動させることで、ヘッド110を3次元空間上で移動させ得る。
FIG. 2 is a diagram showing an example of a drive mechanism of the
駆動機構201は、ヘッド110を移動させる駆動機構であり、サーボモーター、ステッピングモーター等の任意のモーターによって駆動される。駆動機構201は、モーターの動力をボールネジ、ベルト、リンク機構等の動力伝達部品を介してヘッド110またはヘッド110を取り付けられた筐体部分に伝達する。
The
図1に示す例では、ヘッド110は、Z軸の駆動機構201Zに動力伝達部品を介して接続されている。駆動機構201Zが駆動することにより、ヘッド110のZ方向の位置が調整される。また、駆動機構201Zは、Y軸の駆動機構201Yに動力伝達部品を介して接続されている。駆動機構201Yが駆動することにより、駆動機構201Zおよびヘッド110のY軸方向の位置が調整される。さらに、駆動機構201Yは、X軸の駆動機構201Xに動力伝達部品を介して接続されている。駆動機構201Xが駆動することにより、駆動機構201Y、駆動機構201Zおよびヘッド110のX方向の位置が調整される。
In the example shown in FIG. 1, the
台座105は、ワークを設置するための場所であり、ワークを固定するためのネジ穴、治具またはクランプ等が設けられることがある。台座105は、一般的に長方形であり、台座105の四隅の角のいずれかが、ヘッド110のXY軸の座標(0,0)となる。制御装置100は、ヘッド110の位置を当該座標で指定し得る。
The
ヘッド110は、なんらかの作業ツールを取り付けられる。一例として、ヘッド110には、切削ツール、検査用カメラ、ピックアップ用のアーム、ハンダごてまたは電動ドライバー等の任意のツールをセットされ得る。ヘッド110は、駆動機構201によって位置を調整され、ワークに対して何らかの作業(検査、ネジ締め等)を実行する。
The
図3は、本実施形態に係る制御装置100の制御系の構成の一例を模式的に示す図である。制御装置100は、駆動機構201と、ヘッド110と、制御部301と、通信部302と、記憶部303と、入力部304と、出力部305とを備える。
FIG. 3 is a diagram schematically showing an example of the configuration of the control system of the
駆動機構201は、駆動機構201を駆動させる動力源であるモーターと、当該モーターを制御するモータードライバーとを備える。より具体的には、駆動機構201Xには、モーター(Mx)と、モータードライバー(Dx)とが設けられている。駆動機構201Yには、モーター(My)と、モータードライバー(Dy)とが設けられている。駆動機構201Zには、モーター(Mz)と、モータードライバー(Dz)とが設けられている。ある局面において、各モーターおよびモータードライバーは、駆動機構201に内蔵されていてもよい。他の局面において、各モーターおよびモータードライバーは、駆動機構201の外部に設置されていてもよい。
The
ヘッド110は、ヘッド110の先端に取り付けられるツールを制御するツール制御部310と、ツール320とを備える。ツール320は、着脱可能であってもよい。ある局面において、ツール320は、切削ツール、検査用カメラ、ピックアップ用のアーム、ハンダごてまたは電動ドライバー等の任意のツールであってもよい。ツール制御部310は、制御部301からの指令に基づいて、ツール320の動作を制御する。ある局面において、ツール制御部310は、ツール320に含まれていてもよい。
The
制御部301は、制御装置100全体を制御する。制御部301は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、ROM(Read Only Memory)とを含み得る。ある局面において、RAMおよび/またはROMは、制御部301の外部に設けられてもよい。
The
CPUは、RAMに読み込まれた各種プログラムおよびデータを実行または参照する。ある局面において、CPUは、組み込みCPUであってもよいし、FPGA(Field-Programmable Gate Array)であってもよいし、またはこれらの組み合わせ等によって構成されてもよい。 The CPU executes or refers to various programs and data read into the RAM. In a certain aspect, the CPU may be an embedded CPU, an FPGA (Field-Programmable Gate Array), or a combination thereof or the like.
RAMは、CPUによって実行されるプログラムと、CPUによって参照されるデータとを格納する。ある局面において、RAMは、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)によって実現されてもよい。 The RAM stores a program executed by the CPU and data referenced by the CPU. In some aspects, the RAM may be realized by DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory).
ROMは、不揮発性メモリーであり、CPUによって実行されるプログラムを格納してもよい。その場合、CPUは、ROMからRAMに読み出されたプログラムを実行する。ある局面において、ROMは、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)またはフラッシュメモリーによって実現されてもよい。 The ROM is a non-volatile memory and may store a program executed by the CPU. In that case, the CPU executes the program read from the ROM into the RAM. In some aspects, the ROM may be implemented by an EPROM (Erasable Programmable Read Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory) or a flash memory.
通信部302は、駆動機構201およびヘッド110に対する通信インターフェイスである。制御部301は、通信部302を介して、モータードライバーおよびツール制御部310の各々に制御信号を送信する。また、通信部302は、モータードライバーおよびツール制御部310の各々からモーターの回転数等の各種情報を受信し得る。
The
記憶部303は、不揮発性メモリーであり、制御装置100の電源が切れた状態でもデータを保存しておくことができる。記憶部303は、CPUが実行または参照する任意のプログラムおよびデータを保存し得る。ある局面において、記憶部303は、HDD(Hard Disk Drive)またはSSD(Solid State Drive)によって実現されてもよい。CPUは、必要に応じて各種プログラムを記憶部303からRAMに読み込み、当該読み込まれたプログラムを実行することができる。
The
入力部304は、外部からの各種入力操作を受け付けるためのインターフェイスである。入力部304は、キーボード、マウス、タッチパッドまたはゲームパッド等の任意の入力装置に接続され得る。ある局面において、入力部304は、通信ポートであってもよく、外部のコンピューター等から指令を受信し得る。制御部301は、当該指令に基づいて、駆動機構201およびヘッド110を制御し得る。他の局面において、入力部304は、緊急停止ボタンであってもよい。緊急停止ボタンが押されると、制御装置100は、駆動機構201およびヘッド110の動作を強制停止する。
The
出力部305は、外部に何らかの情報を出力するためのインターフェイスである。出力部305は、ブラウン管ディスプレイ、液晶ディスプレイまたは有機EL(electro-luminescence)ディスプレイ等の任意の出力装置に接続され得る。ある局面において、出力インターフェイス306は、USB端子、D−sub端子、DVI(Digital Visual Interface)端子およびHDMI(登録商標)(High-Definition Multimedia Interface)端子等によって実現されてもよい。他の局面において、出力部305は、外部のコンピューターに対して、信号を送信してもよい。
The
図4は、制御装置100が備える機能モジュールの一例を示す模式図である。図4に示される機能モジュールは、ソフトウェアとして実現されてもよく、これらの機能モジュールは、制御部301によって実行され得る。
FIG. 4 is a schematic view showing an example of a functional module included in the
制御装置100は、機能モジュールとして、モーター指令制御部400と、予測同期計算部430と、トリガー指令制御部450とを備える。モーター指令制御部400は、モーター司令部生成部401と、モーター指令補正部402と、モーター司令部403とを含む。トリガー指令制御部450は、トリガー指令生成部451と、トリガー指令補正部452と、トリガー司令部453とを含む。
The
モーター司令部生成部401は、ヘッド110の目標位置の座標(Px,Py,Pz)を生成し、その目標位置に基づく位置指令をモーター指令補正部402に出力する。制御部301は、本実施の形態に基づく経路選択によって決定された各ポイントの通過順序に基づいてヘッド110の目標軌跡を計算する。
The motor command
モーター指令補正部402は、X軸位置補正部、Y軸位置補正部、及びZ軸位置補正部を有しており、目標位置のX座標(Px)に対応するX軸指令位置がX軸位置補正部に入力され、目標位置のY座標(Py)に対応するY軸指令位置がY軸位置補正部に入力され、目標位置のZ座標(Pz)に対応するZ軸指令位置がZ軸位置補正部に入力される。
The motor
モーター司令部403は、モーター指令補正部402の出力に基づいて、モータードライバーDx,DyおよびDzに対して指令を送信する。ある局面において、各モータードライバーに送信される指令は、モーターに出力するパルスまたは電流量、モーターの回転量、モーターのステップ数、または任意のモーターに対する指令であってもよい。
The
予測同期計算部430は、モータードライバーDx,DyおよびDzから駆動パラメーター(各軸の位置ループゲイン等のパラメーター)を読み出して取得する。また、予測同期計算部430は、モータードライバーDx,DyおよびDzのそれぞれの応答遅れ時間を取得する。予測同期計算部430は、これらの取得した情報に基づいて、応答遅れ時間を含む予測位置同期補正パラメーターを計算し、予測位置同期補正パラメーターをモーター指令補正部402に出力する。モーター指令補正部402は、取得した予測位置同期補正パラメーターに基づいて、モータードライバーへの指令を補正する。
The prediction
トリガー指令生成部451は、モーター指令補正部402によって補正されたX軸指令位置、Y軸指令位置、および、Z軸指令位置に基づく位置指令Cx,Cy,Czに各軸のモーターが同期して応答する時刻Tを計算する。また、トリガー指令生成部451は、その時刻Tにおいてツール320を動作させるためのトリガー指令を生成し、当該トリガー指令をトリガー指令補正部452に出力する。
The trigger
トリガー指令補正部452は、各軸のモーターが同期して応答する時刻T、および、各軸のモーターの機械的な所定の反応時間に基づいて、ワークの一部の部品等の作業対象物がツール320の作業位置へ到達する時刻T2を計算する。また、トリガー指令補正部452は、その時刻T2に予測位置同期補正パラメーターを加味して、トリガー指令の補正を行う。
In the trigger
トリガー司令部453は、トリガー指令補正部452から出力されたトリガー指令に基づいて、時刻T1にツール320が応答するように、ツール制御部310に対して補正後のトリガー指令を送信する。
Based on the trigger command output from the trigger
<C.移動コストの計算方法> <C. How to calculate travel costs>
次に、図5〜図10を参照して、本実施の形態に従うヘッド110による各ポイント間の移動コストの第1の計算方法について詳細に説明する。図5は、ワーク500上を通過するヘッド110の通過経路の一例を示す図である。ワーク500は、部品を実装された基板であり、ポイント501〜508は、ヘッド110に備え付けられたカメラが検査すべきポイントであるとする。制御装置100は、各ポイントの通過順序を移動コストの計算に基づいて決定する。移動コストの計算方法は、直線軌跡の移動コストの計算方法と、曲線軌跡の移動コストの計算方法とを含む。ある局面において、移動コストの計算方法は、曲線軌跡の移動コストの計算方法のみを含んでもよい。
Next, with reference to FIGS. 5 to 10, the first calculation method of the movement cost between each point by the
図6は、軌跡角度θTに基づく直線軌跡の移動コストの変化量の一例を示す図である。図6に示される例において、制御装置100は、ヘッド110の通過順序として「直前のポイントP→現在のポイントC」を決定済みである。制御装置100は、ポイントCから次の移動先の候補であるポイントN1〜N3(総称する場合は、「ポイントN」と表す)までの移動コストを計算する。
FIG. 6 is a diagram showing an example of the amount of change in the movement cost of the linear locus based on the locus angle θ T. In the example shown in FIG. 6, the
直線軌跡の場合、ポイントCからポイントN1〜N3の各々までの距離が等しい場合、軌跡角度θTに関係なく、ポイントCから次のポイントN1〜N3の各々までの直線軌跡の移動コストの計算式は以下の式で表される。
また、グラフ600に示されるように、ポイントCから次のポイントNまでの直線軌跡の移動コストは、軌跡角度θTに関係なく一定となる。そのため、制御装置100は、次の移動先としてポイントN1〜N3のいずれを選択してもよいことになる。
In the case of a straight locus, if the distances from point C to each of points N1 to N3 are equal, the calculation formula for the movement cost of the straight locus from point C to each of the next points N1 to N3 regardless of the locus angle θ T. Is expressed by the following formula.
Further, as shown in the
図7は、軌跡角度θTに基づく曲線軌跡の移動コストの変化量の一例を示す図である。図7に示される例において、制御装置100は、ヘッド110の通過順序として「直前のポイントP→現在のポイントC」を決定済みである。制御装置100は、ポイントCから次の移動先の候補であるポイントN1〜N3までの移動コストを計算する。
FIG. 7 is a diagram showing an example of the amount of change in the movement cost of the curved locus based on the locus angle θ T. In the example shown in FIG. 7, the
曲線軌跡の場合、ポイントCからポイントN1〜N3の各々までの距離が等しい場合、軌跡角度θTに比例して移動コストが増大する。なぜならば、軌跡角度θTの増加に伴い、ポイントP,C,Nを通過する円の円周の長さも増加するためである。ポイントCから次のポイントN1〜N3の各々までの曲線軌跡の移動コストの計算式は以下の式で表される。
また、グラフ700に示されるように、ポイントCから次のポイントNまでの曲線軌跡の移動コストは、軌跡角度θTに比例して増加する。そのため、制御装置100は、次の移動先として、最も軌跡角度θTが小さいポイントN1を選択すべきことがわかる。
In the case of a curved locus, if the distances from the points C to each of the points N1 to N3 are equal, the movement cost increases in proportion to the locus angle θ T. This is because as the trajectory angle θ T increases, the circumference of the circle passing through the points P, C, and N also increases. The calculation formula of the movement cost of the curve locus from the point C to each of the following points N1 to N3 is expressed by the following formula.
Further, as shown in the
本実施の形態に従う制御装置100は、直線軌跡の移動コストの計算式と、曲線軌跡の移動コストの計算式とを組み合わせて使用し得る。より具体的には、直前のポイントP、現在のポイントC、および次のポイントNが直線上に並んでいる場合(軌跡角度θT=0の場合)には、制御装置100は、直線軌跡の移動コストの計算式により、ポイントCからポイントNまでの移動コストを計算する。逆に、直前のポイントP、現在のポイントC、および次のポイントNが直線上に並んでいない場合(軌跡角度θT≠0の場合)には、制御装置100は、曲線軌跡の移動コストの計算式により、ポイントCからポイントNまでの移動コストを計算する。
The
当該処理により、制御装置100は、決定後のヘッド110による各ポイントの通過順序に基づいて、ヘッド110による各ポイントの通過経路(直線移動および曲線移動のみの経路)を生成し得る。当該通過経路は、ヘッド110を駆動させる駆動機構201およびモーターにかかる負荷を抑制する経路になる。
By this process, the
また、生成された通過経路は、最近傍法および2−opt法等のアルゴリズムによって求められており、駆動機構201およびモーターにかかる負荷を抑制しつつ、可能な限り距離の短い通過経路となる。
Further, the generated passage path is obtained by algorithms such as the nearest neighbor method and the 2-opt method, and the passage path is as short as possible while suppressing the load applied to the
<D.曲線軌跡の移動コストの計算方法の改良> <D. Improvement of calculation method of movement cost of curve locus>
次に、図8〜図14を参照して、曲線軌跡の移動コストの第2の計算方法について説明する。第2の計算方法は、第1の計算方法と比較して、計算によって求められる移動コストと、ヘッド110の実際の移動距離との誤差がより小さくなる点で異なる。第1の計算方法は、直前のポイントPから現在のポイントCまでの距離(以降、2点間の距離を例えば「距離(P,C)」と表す)と、現在のポイントCから次のポイントNまでの距離(C,N)との組み合わせによって、移動コストの誤差が大きく変化することがある。これに対して、第2の計算方法は、距離(P,C)および距離(C,N)との組み合わせが変化したとしても、移動コストの誤差はわずかしか変化しない。
Next, a second calculation method of the movement cost of the curve locus will be described with reference to FIGS. 8 to 14. The second calculation method differs from the first calculation method in that the error between the movement cost obtained by the calculation and the actual movement distance of the
図8は、距離(P,C)および距離(C,N)に基づく、第1の計算方法によって求められる移動コストの変化量の一例を示す図である。距離(P,C)および距離(N,C)の組み合わせパターンは、以下のパターン(1)〜(3)に分けられる。 FIG. 8 is a diagram showing an example of the amount of change in the travel cost obtained by the first calculation method based on the distance (P, C) and the distance (C, N). The combination pattern of the distance (P, C) and the distance (N, C) is divided into the following patterns (1) to (3).
パターン(1)は、距離(P,C)と距離(C,N)とが等しい場合である。この場合、グラフ810が示すように、移動コストは、軌跡角度θTに比例して増加する。パターン(2)は、距離(P,C)が距離(C,N)よりも長い場合である。この場合、グラフ820が示すように、移動コストは、一旦、軌跡角度θTに比例して増加した後に減少する。パターン(3)は、距離(P,C)が距離(C,N)よりも短い場合である。この場合、グラフ830が示すように、移動コストは、ある程度まで軌跡角度θTに関係なくほとんど増加せず、軌跡角度θTが一定以上の角度になると急激に増加する。
Pattern (1) is a case where the distance (P, C) and the distance (C, N) are equal. In this case, as shown in
これに対して、ヘッド110の実際の移動距離は、グラフ810の示す移動コストに最も近い値となる。ヘッド110は、駆動機構201およびモーターへの負荷を抑制するため、曲線軌跡で移動する。そのため、ポイントP,C,Nが作る角度が鋭角になればなるほど、ヘッド110は大きく旋回し、最小ルートの直線から大きく離れていく。そのため、ヘッド110の実際の移動距離は、軌跡角度θTに比例して増加する。
On the other hand, the actual moving distance of the
しかし、距離(P,C)および距離(C,N)の組み合わせによっては、グラフ820または830が示すように、移動コストが軌跡角度θTに正確に比例しない場合がある。そのため、制御装置100の計算による移動コストと、ヘッド110の実際の移動距離との誤差が増大することがある。そこで、第2の計算方法は、この誤差を抑制する方法を提供する。
However, depending on the combination of the distance (P, C) and the distance (C, N), the movement cost may not be exactly proportional to the locus angle θ T , as shown by the
図9は、第2の計算方法の前提となるポイントP’の一例を説明するための図である。制御装置100は、ヘッド110の通過順序として「直前のポイントP→現在のポイントC」を決定済みである。制御装置100は、ポイントCから次の移動先の候補であるポイントNまでの移動コストを計算する。また、距離(P,C)と距離(C,N)とは異なるものとする。
FIG. 9 is a diagram for explaining an example of the point P'which is a premise of the second calculation method. The
この場合、制御装置100は、第2の計算方法を使用するために、線分PC上のポイントP’を選択する。このときの距離(P’,C)および距離(C,N)は等しくなる。次に制御装置100は、ポイントP’,C,Nに接する円の中心点を求める。制御装置100は、ポイントP’、およびポイントP’,C,Nに接する円に基づいて、ポイントCからポイントNまでの移動コストを計算する。
In this case, the
図10は、第2の計算方法の概要の一例を説明するための図である。制御装置100は、ポイントP,C,Nが一直線上に並んでいない場合、図9に示すように、ポイントP’を求める。次に、制御装置100は、ポイントP’,C,Nに接する円におけるポイントCからポイントNまでの円弧(以下、「円弧(CN)」と表す)の長さをポイントCからポイントNまでの移動コストとして計算する。円弧(CN)の移動コストの計算式は(数2)の式で表される。但し、Rは、ポイントP’,C,Nに接する円の半径である。制御装置100は、ポイントP,C,Nが一直線上に並んでいる場合、ポイントCからポイントNまでの移動コストを(数1)の計算式を用いて計算する。
FIG. 10 is a diagram for explaining an example of an outline of the second calculation method. When the points P, C, and N are not aligned in a straight line, the
次に、図11〜図14を参照して、第1の計算方法によって計算された移動コスト、および第2の計算方法によって計算された移動コストの各々が、実際のヘッド110の通過経路に対してどの程度の誤差を有するのかを説明する。
Next, with reference to FIGS. 11 to 14, each of the movement cost calculated by the first calculation method and the movement cost calculated by the second calculation method is relative to the passage path of the
図11は、ヘッド110の通過経路の第1の例である。ヘッド110は、Startを出発し、ポイント(P1)〜(P3)およびEndの順番にワーク1101上を移動する。距離(P1,P2)は、距離(P2,P3)に対して長いことがわかる。これは、図8のパターン(2)に相当する。ヘッド110は、一例として、通過経路1102上を移動するものとする。
FIG. 11 is a first example of a passage path of the
図12は、ヘッド110の通過経路の第2の例である。ヘッド110は、Startを出発し、ポイント(P1)〜(P4)およびEndの順番にワーク1201上を移動する。距離(P2,P3)は、距離(P3,P4)と近い長さである。これは、図8のパターン(1)に相当する。ヘッド110は、一例として、通過経路1202上を移動するものとする。
FIG. 12 is a second example of the passage path of the
図13は、ヘッド110の通過経路の第3の例である。ヘッド110は、Startを出発し、ポイント(P1)〜(P5)およびEndの順番にワーク1301上を移動する。距離(P3,P4)は、距離(P4,P5)に対して短いことがわかる。これは、図8のパターン(3)に相当する。ヘッド110は、一例として、通過経路1302上を移動するものとする。
FIG. 13 is a third example of the passage path of the
図14は、第1の計算方法および第2の計算方法と、ヘッド110の通過経路の距離(実際の移動距離)との誤差の一例を示す図である。グラフ1404Aは、図11に示した経路における、第1の計算方法による移動コストと、ヘッド110の通過経路の距離との差分を示す。グラフ1404Bは、図12に示した経路における、第1の計算方法による移動コストと、ヘッド110の通過経路の距離との差分を示す。グラフ1404Cは、図13に示した経路における、第1の計算方法による移動コストと、ヘッド110の通過経路の距離との差分を示す。
FIG. 14 is a diagram showing an example of an error between the first calculation method and the second calculation method and the distance (actual movement distance) of the passage path of the
グラフ1405Aは、図11に示した経路における、第2の計算方法による移動コストと、ヘッド110の通過経路の距離との差分を示す。グラフ1405Bは、図12に示した経路における、第2の計算方法による移動コストと、ヘッド110の通過経路の距離との差分を示す。グラフ1405Cは、図13に示した経路における、第2の計算方法による移動コストと、ヘッド110の通過経路の距離との差分を示す。ここでの差分とは、ヘッド110の通過経路の距離に対する移動コストの誤差であるともいえる。
上記のグラフ1404A〜1404Cを参照すると、制御装置100が第1の計算方法を使用した場合、図8のパターン(2),(3)を含む通過順序において、移動コストの誤差は増大することがわかる。
With reference to the
これに対して、上記のグラフ1405A〜1405Cを参照すると、制御装置100が第2の計算方法を使用した場合、いずれの通過経路についても移動コストの誤差はおおよそ一定であることがわかる。
On the other hand, referring to the
グラフ1401は、ヘッド110の通過経路の距離を示す。グラフ1402は、第1の計算方法を使用した場合の移動コストの誤差を示す。グラフ1403は、第2の計算方法を使用した場合の移動コストの誤差を示す。グラフ1401〜1403からも明らかなように、制御装置100は、第2の計算方法を使用することで、ヘッド110によるワーク上の各ポイント間の移動コストを高い精度で計算することができる。
なお、制御装置100は、第1の計算方法および第2の計算方法を制御部301に実行させるためのプログラムを記憶部303に記憶しているものとする。制御装置100は、必要に応じて、これらのプログラムを記憶部303からRAMに読み込んで実行し得る。
It is assumed that the
<E.移動コストの計算方法によるモーターの負荷の変化> <E. Changes in motor load due to movement cost calculation method>
次に、図15〜図18を用いて、曲線軌跡の移動コストの計算を使用することで、モーターにかかる負荷がどのように変化のかを説明する。これ以降の説明では、直線軌跡の移動コストの計算によって求めた通過順序に基づく経路を、「直線軌跡モードの通過経路」と呼ぶ。曲線軌跡の移動コストの計算によって求めた通過順序に基づく経路を、「曲線軌跡モードの通過経路」と呼ぶ。 Next, with reference to FIGS. 15 to 18, how the load applied to the motor changes by using the calculation of the movement cost of the curved locus will be described. In the following description, a route based on the passage order obtained by calculating the movement cost of the linear locus is referred to as a "passage route in the linear locus mode". A route based on the passage order obtained by calculating the movement cost of the curve locus is called a "curve locus mode passage route".
図15は、直線軌跡モードの通過経路および曲線軌跡モードの通過経路の第1の例を示す図である。図15に示される例では、ヘッド110は、ワーク1501上のポイント(1)〜(7)を通過する。
FIG. 15 is a diagram showing a first example of a passage path in the linear locus mode and a passage path in the curved locus mode. In the example shown in FIG. 15, the
通過経路1502Aは、直線軌跡モードの通過経路である。通過経路1502Bは、曲線軌跡モードの通過経路である。通過経路1502Bは、通過経路1502Aに対して、比較的緩やかな曲線を描いていることがわかる。そのため、ヘッド110が、緩やか曲線で移動しており、駆動機構201を駆動するモーターへの負荷が抑制される。
The
図16は、図15に示す各々のモードの通過経路の総移動距離およびモーターに対する負荷の一例を示す図である。図16を参照すると、曲線軌道モードの通過経路におけるヘッド110の総移動距離は、直線軌道モードの通過経路におけるヘッド110の総移動距離と比較して、わずかに増加している。
FIG. 16 is a diagram showing an example of the total travel distance of the passage path of each mode shown in FIG. 15 and the load on the motor. Referring to FIG. 16, the total movement distance of the
また、曲線軌道モードの通過経路におけるヘッド110の最大加速度は、直線軌道モードの通過経路におけるヘッド110の最大加速度よりも大幅に減少している。このことから、曲線軌跡モードの通過経路は、直線軌跡モードの通過経路よりもなめらかで効率的な経路であることがわかる。
Further, the maximum acceleration of the
図17は、直線軌跡モードの通過経路および曲線軌跡モードの通過経路の第2の例を示す図である。図15に示される例では、ヘッド110は、ワーク1501上のポイント(1)〜(21)を通過する。
FIG. 17 is a diagram showing a second example of a passage path in the linear locus mode and a passage path in the curved locus mode. In the example shown in FIG. 15, the
通過経路1702Aは、直線軌跡モードの通過経路である。通過経路1702Bは、曲線軌跡モードの通過経路である。通過経路1702Bは、通過経路1702Aに対して、比較的緩やかな曲線を描いていることがわかる。そのため、ヘッド110が、緩やか曲線で移動しており、駆動機構201を駆動するモーターへの負荷が抑制される。
The
図18は、図17に示す各々の通過経路ごとの移動距離およびモーターに対する負荷の一例を示す図である。図18を参照すると、曲線軌道モードの通過経路におけるヘッド110の総移動距離は、直線軌道モードの通過経路におけるヘッド110の総移動距離と比較して、減少している。
FIG. 18 is a diagram showing an example of the moving distance and the load on the motor for each passing path shown in FIG. Referring to FIG. 18, the total moving distance of the
また、曲線軌道モードの通過経路におけるヘッド110の最大加速度は、直線軌道モードの通過経路におけるヘッド110の最大加速度よりも大幅に減少している。このことから、曲線軌跡モードの通過経路は、直線軌跡モードの通過経路よりもなめらかで効率的な経路であることがわかる。
Further, the maximum acceleration of the
上記の図16および図18の比較結果からわかるように、制御装置100は、曲線軌道モードの通過経路を使用することで、駆動機構201を駆動させるモーターにかかる負荷を大幅に減少させることができる。また、制御装置100は、曲線軌道モードの通過経路を使用することで、ワーク上のポイントの場所および数によっては、総移動距離を減少させることもできる。
As can be seen from the comparison results of FIGS. 16 and 18 above, the
<F.直線軌跡の経路選択の改良> <F. Improvement of route selection of straight trajectory>
次に、図19〜図21を参照して、改良された直線軌跡の移動コストの第3の計算方法について説明する。第3の計算方法は、各ポイント間の移動コストを直線軌跡および軌跡角度θTによって定義する点で、第1および第2の計算方法とは異なる。 Next, a third calculation method of the improved movement cost of the linear locus will be described with reference to FIGS. 19 to 21. The third calculation method is different from the first and second calculation methods in that the movement cost between each point is defined by the linear locus and the locus angle θ T.
図19は、第3の計算方法の一例を示す模式図である。図19の例では、制御装置100は、ポイントP,Cまでの通過経路を決定済みであり、次にポイントCからポイントN1またはN2までの移動コストを算出する。第3の計算方法は、例えば、ワーク上に格子状に通過すべきポイントが整列しているような場合に効率のよく通過経路を決定することができる。第3の計算方法における移動コストの計算式は以下の式で表される。
誤差許容値は、ポイントC,N間の誤差の許容値である。例えば、あるワーク上に通過すべきポイントが均等に格子状に並んでいるとする。しかし、製造誤差等により、各ポイント間の距離がわずかに変化することがある。誤差許容値は、このポイント間の距離の誤差の許容範囲を示す。図19の例では、「誤差許容値=0.55」である。
FIG. 19 is a schematic diagram showing an example of the third calculation method. In the example of FIG. 19, the
The error tolerance is an error tolerance between points C and N. For example, suppose that the points to be passed on a certain work are evenly arranged in a grid pattern. However, the distance between each point may change slightly due to manufacturing errors and the like. The error tolerance indicates the tolerance of the error of the distance between these points. In the example of FIG. 19, “error tolerance = 0.55”.
(数3)に示されるように、第3の計算方法は、軌跡角度θTが増加するほど、移動コストが増加する。すなわち、Cを頂点としたときの線分(PC)および線分(PN)によって作られる角度が鋭角になるほど、移動コストは増加する。 As shown in (Equation 3), in the third calculation method, the movement cost increases as the locus angle θ T increases. That is, the sharper the angle created by the line segment (PC) and the line segment (PN) when C is the apex, the higher the movement cost.
図19の例では、「距離(C,N1)=40、ポイントP,C,N1における軌跡角度=0」、「距離(C,N2)=39.5、ポイントP,C,N2における軌跡角度=90」になる。そのため、ポイントN2は、ポイントN1よりもポイントCに近いことがわかる。しかし、ポイントP,C,N2における軌跡角度は、ポイントP,C,N1における軌跡角度よりも大きいため、第3の計算方法においては、ポイントCからポイントN1までの移動コストは、ポイントCからポイントN2までの移動コストよりも小さくなる。制御装置100は、第3の計算方法に基づいて、移動コストを計算することで、ヘッド110が移動時に曲がらないポイントを優先的に選択することができる。
In the example of FIG. 19, "distance (C, N1) = 40, locus angle at points P, C, N1 = 0", "distance (C, N2) = 39.5, locus angle at points P, C, N2". = 90 ". Therefore, it can be seen that the point N2 is closer to the point C than the point N1. However, since the locus angle at points P, C, and N2 is larger than the locus angle at points P, C, and N1, in the third calculation method, the movement cost from point C to point N1 is from point C to point. It is smaller than the travel cost to N2. By calculating the movement cost based on the third calculation method, the
図20は、制御装置100が第3の計算方法を用いて決定した通過順序の一例を示す。図20の例において、制御装置100は、ワーク2001上のポイント(1)〜(25)上を通過する。通過経路2002Aは、制御装置100が第3の計算方法によって求められる移動コストを用いて最近傍法により決定した通過順序に基づいて生成される。制御装置100は、可能な限り、ヘッド110を直線上に移動できるように通過順序を決定していることがわかる。通過経路2002Bは、制御装置100が2−opt法を通過経路2002Aに適用した結果である。
FIG. 20 shows an example of the passage order determined by the
上記のように、本実施の形態に従う制御装置100は、第1〜第3の計算方法のいずれかを用いてワーク上の各ポイント間の移動コストを算出する。制御装置100は、当該移動コストに基づいて、最近傍法、2−opt法等のアルゴリズムにより、ヘッド110の各ポイントの通過順序を決定する。
As described above, the
<G.制御装置100の内部処理>
<G. Internal processing of
図21は、制御装置100の移動コスト算出の手順の一例を示す図である。ある局面において、制御部301は、図21の処理を行うためのプログラムを記憶部303からRAMに読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。
FIG. 21 is a diagram showing an example of a procedure for calculating the movement cost of the
ステップS2105において、制御部301は、移動コストの算出方法を選択する。プログラムにおけるユーザーの入力等により直線軌跡の算出方法が選択されていた場合、制御部301は、制御をステップS2110に移す。または、制御部301が直前のポイントP,現在のポイントC,および次のポイントNの位置関係に基づいて直線軌跡の算出方法を選択した場合、制御部301は、制御をステップS2110に移す。そうでない場合(プログラムにおけるユーザーの入力等により曲線軌跡の算出方法が選択されていた場合、または制御部301がポイントP,C,Nの位置関係に基づいて曲線軌跡の算出方法を選択した場合)、制御部301は、制御をステップS2120に移す。
In step S2105, the
ステップS2110において、制御部301は、ポイントP,C,Nにおける軌跡角度を算出する。ステップS2115において、制御部301は、第3の計算方法における(数3)の式(6)を使用して、ポイントCからポイントNまでの移動コストを算出する。
In step S2110, the
ステップS2120において、制御部301は、ポイントP,C,Nにおける軌跡角度を算出する。ステップS2125において、制御部301は、「軌跡角度≠0」であるか否か、すなわちポイントP,C,Nが一直線上に存在しないか否かを判定する。制御部301は、「軌跡角度≠0」であると判定した場合(ステップS2125にてYES)、制御をステップS2130に移す。そうでない場合(ステップS2125にてNO)、制御部301は、制御をステップS2135に移す。
In step S2120, the
ステップS2130において、制御部301は、(数2)の式(2)により、ポイントCからポイントNまでの移動コストを算出する。ある局面において、制御部301は、ポイントP,C,Nに基づいて、第1の計算方法によりポイントCからポイントNまでの移動コストを算出してもよい。また、他の局面において、制御部301は、ポイントP’,C,Nに基づいて、第2の計算方法によりポイントCからポイントNまでの移動コストを算出してもよい。ステップS2135において、制御部301は、(数1)の式(1)により、ポイントCからポイントNまでの移動コストを算出する。
In step S2130, the
以上説明したように、本実施の形態に従う制御装置100は、直線軌跡の移動コストの計算式と、曲線軌跡の移動コストの計算式とを組み合わせて使用することで、ワーク上の各ポイント間の移動コストを算出する。制御装置100は、この移動コストに基づいて、最近傍法、2−opt法等のアルゴリズムにより、ヘッド110の各ポイントの通過順序を決定する。当該処理により、制御装置100は、ヘッド110を駆動させるための駆動機構201およびモーターにかかる負荷を抑制しつつ、効率のよりポイントの通過順序を決定し得る。
As described above, the
<H.付記> <H. Addendum>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
ワークを設置するための台座(105)と、
前記台座の上を移動するヘッド(110)と、
前記ヘッドを前記台座の第1の軸方向に移動させるための第1の駆動機構(201X)と、
前記ヘッドを前記台座の第2の軸方向に移動させるための第2の駆動機構(201Y)と、
前記第1の駆動機構および前記第2の駆動機構を制御する制御部(301)とを備え、
前記制御部は、
前記ヘッドが、前記ワークの複数のポイントを通過する場合において、前記ヘッドが現在のポイント(C)から次のポイント(N)まで曲線軌跡を描く動作で通過したときの移動コストを計算し、
前記移動コストが最少になるように前記ヘッドの次の移動先のポイントを選定する、制御装置。
[構成2]
前記曲線軌跡は、前記ヘッドの直前のポイント(P)と、前記現在のポイントと、前記次のポイントとに接する円上を通過する軌跡である、構成1に記載の制御装置。
[構成3]
前記制御部は、前記ヘッドの直前のポイントと、前記現在のポイントとを通過する線分上にあるポイントP(P’)を求め、
前記ポイントPから前記現在のポイントまでの距離と、前記現在のポイントから前記次のポイントまでの距離とは等しく、
前記曲線軌跡は、前記ポイントPと、前記現在のポイントと、前記次のポイントとに接する円上を通過する軌跡である、構成1に記載の制御装置。
[構成4]
前記制御部は、
前記直前のポイントと、前記現在のポイントと、前記次のポイントとが直線上に並ぶか否かを判定し、
前記直前のポイントと、前記現在のポイントと、前記次のポイントとが直線上に並ぶ場合、前記ヘッドが前記現在のポイントから前記次のポイントまでを直線軌跡を描く動作で通過したときの移動コストを計算し、
前記直前のポイントと、前記現在のポイントと、前記次のポイントとが直線上に並ばない場合、前記ヘッドが前記現在のポイントから前記次のポイントまでを前記曲線軌跡を描く動作で通過したときの移動コストを計算する、構成2または3に記載の制御装置。
[構成5]
前記制御部は、
前記ヘッドのポイントの通過順序の決定後に、前記ヘッドが各ポイントを通過するときの通過経路が前記ヘッドの最小旋回半径以上となるように、前記ヘッドの通過経路を決定する、構成1〜4のいずれかに記載の制御装置。
[構成6]
前記制御部は、
前記ヘッドが前記曲線軌跡を描く動作で通過したときの移動コストに基づいて、前記ヘッドのポイントの通過順序を決定した後に、2−opt法により前記ヘッドのポイントの通過順序を変更する、構成1〜5のいずれかに記載の制御装置。
[構成7]
前記制御部は、
前記ヘッドが曲線軌跡を描く動作で通過したときの移動コストの計算方法と、前記ヘッドが直線軌跡を描く動作で通過したときの移動コストの計算方法との選択の入力を受け付け、
前記ヘッドが直線を描く動作で通過したときの移動コストの計算方法は、前記現在のポイントから前記次のポイントまでの距離の誤差許容値が0より大きいとき、前記現在のポイントを頂点としたときの、前記直前のポイントおよび前記現在のポイントを結ぶ線分と、前記現在のポイントおよび前記次のポイントを結ぶ線分との角度が180度から小さくなるほど移動コストが増加する、構成2または3に記載の制御装置。
[構成8]
制御装置におけるヘッドのワーク上の各ポイントの通過順序を求める方法であって、
ヘッドが、前記ワーク上の複数のポイントを通過する場合において、前記ヘッドが現在のポイントから次のポイントまで曲線軌跡を描く動作で通過したときの移動コストを計算するステップと、
前記移動コストが最少になるように前記ヘッドの次の移動先のポイントを選定するステップとを含む、方法。
[構成9]
前記曲線軌跡は、前記ヘッドの直前のポイントと、前記現在のポイントと、前記次のポイントとに接する円上を通過する軌跡である、構成8に記載の方法。
[構成10]
前記方法は、前記ヘッドの直前のポイントと、前記現在のポイントとを通過する線分上にあるポイントPを求めるステップをさらに含み、
前記ポイントPから前記現在のポイントまでの距離と、前記現在のポイントから前記次のポイントまでの距離とは等しく、
前記曲線軌跡は、前記ポイントPと、前記現在のポイントと、前記次のポイントとに接する円上を通過する軌跡である、構成8に記載の方法。
[構成11]
前記直前のポイントと、前記現在のポイントと、前記次のポイントとが直線上に並ぶか否かを判定するステップと、
前記直前のポイントと、前記現在のポイントと、前記次のポイントとが直線上に並ぶ場合、前記ヘッドが前記現在のポイントから前記次のポイントまでを直線軌跡を描く動作で通過したときの移動コストを計算するステップと、
前記直前のポイントと、前記現在のポイントと、前記次のポイントとが直線上に並ばない場合、前記ヘッドが前記現在のポイントから前記次のポイントまでを前記曲線軌跡を描く動作で通過したときの移動コストを計算するステップとをさらに含む、構成9または10に記載の方法。
[構成12]
前記ヘッドのポイントの通過順序の決定後に、前記ヘッドが各ポイントを通過するときの通過経路が前記ヘッドの最小旋回半径以上となるように、前記ヘッドの通過経路を決定するステップをさらに含む、構成8〜11のいずれかに記載の方法。
[構成13]
前記ヘッドが前記曲線軌跡を描く動作で通過したときの移動コストに基づいて、前記ヘッドのポイントの通過順序を決定した後に、2−opt法により前記ヘッドのポイントの通過順序を変更するステップをさらに含む、構成8〜12のいずれかに記載の方法。
[構成14]
前記方法は、前記ヘッドが曲線軌跡を描く動作で通過したときの移動コストの計算方法と、前記ヘッドが直線軌跡を描く動作で通過したときの移動コストの計算方法との選択の入力を受け付けるステップをさらに含み、
前記ヘッドが直線を描く動作で通過したときの移動コストの計算方法は、前記現在のポイントから前記次のポイントまでの距離の誤差許容値が0より大きいとき、前記現在のポイントを頂点としたときの、前記直前のポイントおよび前記現在のポイントを結ぶ線分と、前記現在のポイントおよび前記次のポイントを結ぶ線分との角度が180度から小さくなるほど移動コストが増加する、構成9または10に記載の方法。
[構成15]
構成8〜14のいずれかに記載の方法を制御装置に実行させるためのプログラム。
The present embodiment as described above includes the following technical ideas.
[Structure 1]
A pedestal (105) for installing the work and
A head (110) that moves on the pedestal and
A first drive mechanism (201X) for moving the head in the first axial direction of the pedestal, and
A second drive mechanism (201Y) for moving the head in the second axial direction of the pedestal, and
A control unit (301) that controls the first drive mechanism and the second drive mechanism is provided.
The control unit
When the head passes through a plurality of points of the work, the movement cost when the head passes by the operation of drawing a curved locus from the current point (C) to the next point (N) is calculated.
A control device that selects a point to move next to the head so that the movement cost is minimized.
[Structure 2]
The control device according to
[Structure 3]
The control unit obtains a point P (P') on a line segment passing through the point immediately before the head and the current point.
The distance from the point P to the current point is equal to the distance from the current point to the next point.
The control device according to
[Structure 4]
The control unit
It is determined whether or not the immediately preceding point, the current point, and the next point are aligned on a straight line.
When the immediately preceding point, the current point, and the next point are aligned on a straight line, the movement cost when the head passes from the current point to the next point in a straight line locus. Calculate and
When the immediately preceding point, the current point, and the next point are not aligned on a straight line, when the head passes from the current point to the next point in an operation of drawing a curved locus. The control device according to
[Structure 5]
The control unit
After determining the passing order of the points of the head, the passing path of the head is determined so that the passing path when the head passes each point is equal to or larger than the minimum turning radius of the head. The control device according to any one.
[Structure 6]
The control unit
After determining the passing order of the points of the head based on the movement cost when the head passes by the operation of drawing the curved locus, the passing order of the points of the head is changed by the 2-opt method. The control device according to any one of.
[Structure 7]
The control unit
The input of selection between the calculation method of the movement cost when the head passes by the operation of drawing a curved locus and the calculation method of the movement cost when the head passes by the operation of drawing a straight line locus is accepted.
The method of calculating the movement cost when the head passes in a straight line is when the error tolerance of the distance from the current point to the next point is larger than 0 and the current point is set as the apex. The movement cost increases as the angle between the line segment connecting the immediately preceding point and the current point and the line segment connecting the current point and the next point decreases from 180 degrees, according to the
[Structure 8]
It is a method of finding the passing order of each point on the work of the head in the control device.
When the head passes through a plurality of points on the work, the step of calculating the movement cost when the head passes by the operation of drawing a curved locus from the current point to the next point, and
A method comprising the step of selecting the next destination point of the head so that the movement cost is minimized.
[Structure 9]
The method according to configuration 8, wherein the curved locus is a locus that passes on a circle in contact with the point immediately before the head, the current point, and the next point.
[Structure 10]
The method further comprises the step of finding a point P on a line segment passing through the point immediately preceding the head and the current point.
The distance from the point P to the current point is equal to the distance from the current point to the next point.
The method according to configuration 8, wherein the curved locus is a locus that passes on a circle in contact with the point P, the current point, and the next point.
[Structure 11]
A step of determining whether or not the immediately preceding point, the current point, and the next point are aligned on a straight line.
When the immediately preceding point, the current point, and the next point are aligned on a straight line, the movement cost when the head passes from the current point to the next point in a straight line locus. And the steps to calculate
When the immediately preceding point, the current point, and the next point are not aligned on a straight line, when the head passes from the current point to the next point in an operation of drawing a curved locus. 9. The method of
[Structure 12]
After determining the passing order of the points of the head, the configuration further includes a step of determining the passing path of the head so that the passing path when the head passes each point is equal to or larger than the minimum turning radius of the head. The method according to any one of 8 to 11.
[Structure 13]
After determining the passing order of the points of the head based on the movement cost when the head passes by the motion of drawing the curved locus, a step of changing the passing order of the points of the head by the 2-opt method is further added. The method according to any of configurations 8-12, comprising.
[Structure 14]
The method is a step of accepting input for selection between a method of calculating the movement cost when the head passes by the operation of drawing a curved locus and a method of calculating the movement cost when the head passes by the operation of drawing a linear locus. Including
The method of calculating the movement cost when the head passes in a straight line is when the error tolerance of the distance from the current point to the next point is larger than 0 and the current point is set as the apex. In
[Structure 15]
A program for causing a control device to execute the method according to any one of configurations 8 to 14.
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された開示内容は、可能な限り、単独でも、組合わせても、実施することが意図される。 It should be considered that the embodiments disclosed this time are exemplary in all respects and not restrictive. The scope of the present disclosure is shown by the scope of claims rather than the above description, and it is intended that all modifications are included in the meaning and scope equivalent to the scope of claims. In addition, the disclosure contents described in the embodiments and the respective modifications are intended to be implemented alone or in combination as much as possible.
100 制御装置、105 台座、110 ヘッド、120 経路、201 駆動機構、301 制御部、302 通信部、303 記憶部、304 入力部、305 出力部、306 出力インターフェイス、310 ツール制御部、320 ツール、400 モーター指令制御部、401 モーター司令部生成部、402 モーター指令補正部、403 モーター司令部、430 予測同期計算部、450 トリガー指令制御部、451 トリガー指令生成部、452 トリガー指令補正部、453 トリガー司令部。 100 control device, 105 pedestal, 110 head, 120 paths, 201 drive mechanism, 301 control unit, 302 communication unit, 303 storage unit, 304 input unit, 305 output unit, 306 output interface, 310 tool control unit, 320 tool, 400 Motor command control unit, 401 motor command generation unit, 402 motor command correction unit, 403 motor command unit, 430 prediction synchronization calculation unit, 450 trigger command control unit, 451 trigger command generation unit, 452 trigger command correction unit, 453 trigger command Department.
Claims (13)
前記台座の上を移動するヘッドと、
前記ヘッドを前記台座の第1の軸方向に移動させるための第1の駆動機構と、
前記ヘッドを前記台座の第2の軸方向に移動させるための第2の駆動機構と、
前記第1の駆動機構および前記第2の駆動機構を制御する制御部とを備え、
前記制御部は、
前記ヘッドが、前記ワークの複数のポイントを通過する場合において、前記ヘッドが現在のポイントから次のポイントまで曲線軌跡を描く動作で通過したときの移動コストを計算し、
前記移動コストが最少になるように前記ヘッドの次の移動先のポイントを選定し、
前記曲線軌跡は、前記ヘッドの直前のポイントと、前記現在のポイントと、前記次のポイントとに接する円上を通過する軌跡である、制御装置。 A pedestal for installing the work and
A head that moves on the pedestal and
A first drive mechanism for moving the head in the first axial direction of the pedestal, and
A second drive mechanism for moving the head in the second axial direction of the pedestal, and
A control unit that controls the first drive mechanism and the second drive mechanism is provided.
The control unit
When the head passes through a plurality of points of the work, the movement cost when the head passes by the operation of drawing a curved locus from the current point to the next point is calculated.
The movement cost is selected point of the next destination of the head so as to minimize
The curve locus is a locus that passes on a circle in contact with a point immediately before the head, the current point, and the next point .
前記台座の上を移動するヘッドと、
前記ヘッドを前記台座の第1の軸方向に移動させるための第1の駆動機構と、
前記ヘッドを前記台座の第2の軸方向に移動させるための第2の駆動機構と、
前記第1の駆動機構および前記第2の駆動機構を制御する制御部とを備え、
前記制御部は、
前記ヘッドが、前記ワークの複数のポイントを通過する場合において、前記ヘッドの直前のポイントと、現在のポイントとを通過する直線上にあるポイントPを求め、
前記ヘッドが前記現在のポイントから次のポイントまで曲線軌跡を描く動作で通過したときの移動コストを計算し、
前記移動コストが最少になるように前記ヘッドの次の移動先のポイントを選定し、
前記ポイントPから前記現在のポイントまでの距離と、前記現在のポイントから前記次のポイントまでの距離とは等しく、
前記曲線軌跡は、前記ポイントPと、前記現在のポイントと、前記次のポイントとに接する円上を通過する軌跡である、制御装置。 A pedestal for installing the work and
A head that moves on the pedestal and
A first drive mechanism for moving the head in the first axial direction of the pedestal, and
A second drive mechanism for moving the head in the second axial direction of the pedestal, and
A control unit that controls the first drive mechanism and the second drive mechanism is provided.
The control unit
When the head passes through a plurality of points of the work, a point P on a straight line passing through the point immediately before the head and the current point is obtained.
The movement cost when the head passes through the motion of drawing a curved locus from the current point to the next point is calculated.
Select the next destination point of the head so that the movement cost is minimized.
The distance from the point P to the current point is equal to the distance from the current point to the next point.
The curved locus is a locus that passes on a circle in contact with the point P, the current point, and the next point.
前記直前のポイントと、前記現在のポイントと、前記次のポイントとが直線上に並ぶか否かを判定し、
前記直前のポイントと、前記現在のポイントと、前記次のポイントとが直線上に並ぶ場合、前記ヘッドが前記現在のポイントから前記次のポイントまでを直線軌跡を描く動作で通過したときの移動コストを計算し、
前記直前のポイントと、前記現在のポイントと、前記次のポイントとが直線上に並ばない場合、前記ヘッドが前記現在のポイントから前記次のポイントまでを前記曲線軌跡を描く動作で通過したときの移動コストを計算する、請求項1または2に記載の制御装置。 The control unit
It is determined whether or not the immediately preceding point, the current point, and the next point are aligned on a straight line.
When the immediately preceding point, the current point, and the next point are aligned on a straight line, the movement cost when the head passes from the current point to the next point in a straight line locus. Calculate and
When the immediately preceding point, the current point, and the next point are not aligned on a straight line, when the head passes from the current point to the next point in an operation of drawing a curved locus. The control device according to claim 1 or 2 , which calculates a travel cost.
前記ヘッドのポイントの通過順序の決定後に、前記ヘッドが各ポイントを通過するときの通過経路が前記ヘッドの最小旋回半径以上となるように、前記ヘッドの通過経路を決定する、請求項1〜3のいずれかに記載の制御装置。 The control unit
After the determination of the path sequence of points of the head, the head is such that passage path as it passes through each point becomes a minimum turning radius than the head, which determines the passage path of the head, according to claim 1 to 3 The control device according to any one of.
前記ヘッドが前記曲線軌跡を描く動作で通過したときの移動コストに基づいて、前記ヘッドのポイントの通過順序を決定した後に、2−opt法により前記ヘッドのポイントの通過順序を変更する、請求項1〜4のいずれかに記載の制御装置。 The control unit
The claim that the passing order of the points of the head is changed by the 2-opt method after the passing order of the points of the head is determined based on the moving cost when the head passes by the operation of drawing the curved locus. The control device according to any one of 1 to 4 .
前記ヘッドが曲線軌跡を描く動作で通過したときの移動コストの計算方法と、前記ヘッドが直線軌跡を描く動作で通過したときの移動コストの計算方法との選択の入力を受け付け、
前記ヘッドが直線を描く動作で通過したときの移動コストの計算方法は、前記現在のポイントから前記次のポイントまでの距離の誤差許容値が0より大きいとき、前記現在のポイントを頂点としたときの、前記直前のポイントおよび前記現在のポイントを結ぶ線分と、前記現在のポイントおよび前記次のポイントを結ぶ線分との角度が180度から小さくなるほど移動コストが増加する、請求項1または2に記載の制御装置。 The control unit
The input of selection between the calculation method of the movement cost when the head passes by the operation of drawing a curved locus and the calculation method of the movement cost when the head passes by the operation of drawing a straight line locus is accepted.
The method of calculating the movement cost when the head passes in a straight line is when the error tolerance of the distance from the current point to the next point is larger than 0 and the current point is set as the apex. The movement cost increases as the angle between the line segment connecting the immediately preceding point and the current point and the line segment connecting the current point and the next point decreases from 180 degrees, according to claim 1 or 2. The control device described in.
ヘッドが、前記ワーク上の複数のポイントを通過する場合において、前記ヘッドが現在のポイントから次のポイントまで曲線軌跡を描く動作で通過したときの移動コストを計算するステップと、
前記移動コストが最少になるように前記ヘッドの次の移動先のポイントを選定するステップとを含み、
前記曲線軌跡は、前記ヘッドの直前のポイントと、前記現在のポイントと、前記次のポイントとに接する円上を通過する軌跡である、方法。 It is a method of finding the passing order of each point on the work of the head in the control device.
When the head passes through a plurality of points on the work, the step of calculating the movement cost when the head passes by the operation of drawing a curved locus from the current point to the next point, and
Look including the step of the movement cost is selected points of the next destination of the head so as to minimize
A method in which the curved locus is a locus that passes on a circle in contact with a point immediately before the head, the current point, and the next point .
ヘッドが、前記ワーク上の複数のポイントを通過する場合において、前記ヘッドの直前のポイントと、現在のポイントとを通過する直線上にあるポイントPを求めるステップと、
前記ヘッドが前記現在のポイントから次のポイントまで曲線軌跡を描く動作で通過したときの移動コストを計算するステップと、
前記移動コストが最少になるように前記ヘッドの次の移動先のポイントを選定するステップとを含み、
前記ポイントPから前記現在のポイントまでの距離と、前記現在のポイントから前記次のポイントまでの距離とは等しく、
前記曲線軌跡は、前記ポイントPと、前記現在のポイントと、前記次のポイントとに接する円上を通過する軌跡である、方法。 It is a method of finding the passing order of each point on the work of the head in the control device.
When the head passes through a plurality of points on the work, a step of finding a point P on a straight line passing through the point immediately before the head and the current point, and
A step of calculating the movement cost when the head passes by the operation of drawing a curved locus from the current point to the next point, and
Including the step of selecting the next destination point of the head so as to minimize the movement cost.
The distance from the point P to the current point is equal to the distance from the current point to the next point.
The method, wherein the curved locus is a locus that passes on a circle tangent to the point P, the current point, and the next point.
前記直前のポイントと、前記現在のポイントと、前記次のポイントとが直線上に並ぶ場合、前記ヘッドが前記現在のポイントから前記次のポイントまでを直線軌跡を描く動作で通過したときの移動コストを計算するステップと、
前記直前のポイントと、前記現在のポイントと、前記次のポイントとが直線上に並ばない場合、前記ヘッドが前記現在のポイントから前記次のポイントまでを前記曲線軌跡を描く動作で通過したときの移動コストを計算するステップとをさらに含む、請求項7または8に記載の方法。 A step of determining whether or not the immediately preceding point, the current point, and the next point are aligned on a straight line.
When the immediately preceding point, the current point, and the next point are aligned on a straight line, the movement cost when the head passes from the current point to the next point in a straight line locus. And the steps to calculate
When the immediately preceding point, the current point, and the next point are not aligned on a straight line, when the head passes from the current point to the next point in an operation of drawing a curved locus. The method of claim 7 or 8 , further comprising the step of calculating the transfer cost.
前記ヘッドが直線を描く動作で通過したときの移動コストの計算方法は、前記現在のポイントから前記次のポイントまでの距離の誤差許容値が0より大きいとき、前記現在のポイントを頂点としたときの、前記直前のポイントおよび前記現在のポイントを結ぶ線分と、前記現在のポイントおよび前記次のポイントを結ぶ線分との角度が180度から小さくなるほど移動コストが増加する、請求項7または8に記載の方法。 The method is a step of accepting input for selection between a method of calculating the movement cost when the head passes by the operation of drawing a curved locus and a method of calculating the movement cost when the head passes by the operation of drawing a linear locus. Including
The method of calculating the movement cost when the head passes in a straight line is when the error tolerance of the distance from the current point to the next point is larger than 0 and the current point is set as the apex. The movement cost increases as the angle between the line segment connecting the immediately preceding point and the current point and the line segment connecting the current point and the next point decreases from 180 degrees, according to claim 7 or 8. The method described in.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020042344A JP6773243B1 (en) | 2020-03-11 | 2020-03-11 | Controls, methods and programs |
CN202110147312.5A CN113473836A (en) | 2020-03-11 | 2021-02-03 | Control device, control method, and computer-readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020042344A JP6773243B1 (en) | 2020-03-11 | 2020-03-11 | Controls, methods and programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6773243B1 true JP6773243B1 (en) | 2020-10-21 |
JP2021144444A JP2021144444A (en) | 2021-09-24 |
Family
ID=72829263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020042344A Active JP6773243B1 (en) | 2020-03-11 | 2020-03-11 | Controls, methods and programs |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6773243B1 (en) |
CN (1) | CN113473836A (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0630010B2 (en) * | 1985-10-11 | 1994-04-20 | 株式会社日立製作所 | Electronic component insertion order determination method |
US5426722A (en) * | 1993-09-09 | 1995-06-20 | Stratasys, Inc. | Method for optimizing the motion of a multi-axis robot |
SG160423A1 (en) * | 2005-03-23 | 2010-04-29 | Hurco Co Inc | Method of tolerance-based trajectory planning and control |
-
2020
- 2020-03-11 JP JP2020042344A patent/JP6773243B1/en active Active
-
2021
- 2021-02-03 CN CN202110147312.5A patent/CN113473836A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2021144444A (en) | 2021-09-24 |
CN113473836A (en) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9424646B2 (en) | Control system and control method | |
US20140217076A1 (en) | Robot system and method for controlling the robot system | |
US20160354929A1 (en) | Robot, robot control device, and robot system | |
EP2375298A2 (en) | Programming method for a robot, programming apparatus for a robot, and robot control system | |
JP2016027951A (en) | Robot device control method and robot device | |
JPWO2004085120A1 (en) | Robot simulation apparatus and simulation program | |
US11833687B2 (en) | Robot apparatus, control method for the robot apparatus, assembly method using the robot apparatus, and recording medium | |
US11338442B2 (en) | Robot apparatus, control method for robot apparatus, article manufacturing method using robot apparatus, and storage medium | |
US20060037951A1 (en) | Laser processing apparatus | |
US10994422B2 (en) | Robot system for adjusting operation parameters | |
Kotlarski et al. | Experimental validation of the influence of kinematic redundancy on the pose accuracy of parallel kinematic machines | |
JP6773243B1 (en) | Controls, methods and programs | |
US11345026B2 (en) | Robot program generation apparatus | |
KR20150086161A (en) | Robot, robot control method and robot control program | |
JP2018064019A (en) | Device for optimizing attachment processing | |
US20240051138A1 (en) | Device, robot system, and method for determining position of recessed portion to be formed by scraping | |
KR102474838B1 (en) | Apparatus, method and system for teaching robot | |
JP5961077B2 (en) | Robot control apparatus and robot control method | |
KR102199554B1 (en) | Calculating method of maximum rectangular prism working volume for multi-axis machine | |
KR102543213B1 (en) | Method for calibrating coordinate system of robot | |
CN109843504B (en) | Numerical control device | |
JP2001025985A (en) | Installation condition detecting method of working robot | |
WO2022186054A1 (en) | Teaching point generation device that generates teaching points on basis of output of sensor, and teaching point generation method | |
JP2005090983A (en) | Linear moving device and stage moving device | |
US20240075625A1 (en) | Assembling apparatus, assembling method and computer readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200417 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200417 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200623 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200806 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200901 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200914 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6773243 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |