JP2012196717A - Method and device for controlling robot - Google Patents

Method and device for controlling robot Download PDF

Info

Publication number
JP2012196717A
JP2012196717A JP2011060621A JP2011060621A JP2012196717A JP 2012196717 A JP2012196717 A JP 2012196717A JP 2011060621 A JP2011060621 A JP 2011060621A JP 2011060621 A JP2011060621 A JP 2011060621A JP 2012196717 A JP2012196717 A JP 2012196717A
Authority
JP
Japan
Prior art keywords
variable
value
robot
tool
target position
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.)
Pending
Application number
JP2011060621A
Other languages
Japanese (ja)
Inventor
Daisuke Kawase
大介 川瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2011060621A priority Critical patent/JP2012196717A/en
Publication of JP2012196717A publication Critical patent/JP2012196717A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce the workload of a user for setting a value of a variable for determining the direction of a tool at a target position and furthermore to reduce the movement time of a robot.SOLUTION: When a user sets a rotational angle of the tool around a predetermined axis as an optional variable, a controller sets the rotational angle around the predetermined axis as the optional variable settable to an optional value by the controller side. The controller sets an evaluation index which is based on the movement time required when a leading end of the tool moves from the present position to the target position, and determines the value of the optional variable by optimizing the evaluation index. Since each of the above processing is executed by the controller, the direction of the tool at the target position is automatically determined to a direction for minimizing the movement time of the robot.

Description

本発明は、複数の軸を有するロボットの手先に取り付けられるツールの先端を現在位置から目標位置に向けて移動させる際におけるロボットの制御方法およびロボットの制御装置に関する。   The present invention relates to a robot control method and a robot control device for moving a tip of a tool attached to a hand of a robot having a plurality of axes from a current position toward a target position.

工場などにおいてロボットが導入される目的としては、生産効率の向上、つまり生産タクトタイムの短縮を図るという点が大きい。生産タクトタイムの短縮を図るためには、ロボットにより行われる1つ1つの作業における動作時間を短くする必要がある。そのため、ロボットの動作時間が極力短くなるようなティーチング(教示)が作業者により行われている。すなわち、現状においてロボットの動作時間を短くする作業は、ティーチングを担当する作業者の個人能力に大きく依存していることになる。   The purpose of introducing robots in factories and the like is to improve production efficiency, that is, to shorten production tact time. In order to shorten the production tact time, it is necessary to shorten the operation time in each work performed by the robot. Therefore, teaching (teaching) is performed by an operator so that the operation time of the robot is as short as possible. That is, in the present situation, the work for shortening the operation time of the robot greatly depends on the individual ability of the worker in charge of teaching.

ロボットの手先に取り付けられるツールの先端を現在位置から目標位置に向けて移動させるために行われるティーチングでは、目標位置におけるツールの先端位置および向きを決定するための各変数の値は、作業者により全て指定されるようになっている。上記各変数とは、ツール先端の各座標値に加え、ツール(手先)の所定軸まわりの回転角度(例えば、4軸の水平多関節型ロボットの場合であれば第4軸まわりの回転角度)のことである。   In teaching performed to move the tip of the tool attached to the hand of the robot from the current position toward the target position, the value of each variable for determining the tip position and orientation of the tool at the target position is determined by the operator. All are specified. Each of the above variables is a rotation angle around a predetermined axis of the tool (hand) in addition to each coordinate value of the tool tip (for example, a rotation angle around the fourth axis in the case of a 4-axis horizontal articulated robot) That's it.

さて、ロボットの手先に取り付けられるツールの種類および作業内容によっては、そのツールの向き(=手先の向き)にかかわらず、その作業を達成可能なケースがある。例えば、4軸の水平多関節型ロボットにツールとしてエアチャックが用いられる場合、ツールの向き(第4軸まわりの向き)にかかわらずワークを把持することができる。このように、ワークを把持可能な位置(目標位置)におけるツールの特定の向きが、どのような向きでもよい場合がある。   Now, depending on the type of tool attached to the hand of the robot and the work content, there are cases where the work can be achieved regardless of the direction of the tool (= the direction of the hand). For example, when an air chuck is used as a tool in a 4-axis horizontal articulated robot, the workpiece can be gripped regardless of the direction of the tool (the direction around the fourth axis). As described above, the specific direction of the tool at the position where the workpiece can be gripped (target position) may be any direction.

図7は、ツール先端を現在位置から目標位置に向けて移動させる際におけるロボットの態様を模式的に示している。図7に示すロボットは、4軸の水平多関節型ロボットであり、その手先にツールとしてエアチャックが取り付けられている。なお、図7では、各軸(各関節)および各リンクをそれぞれ丸印および直線で示すとともに、ツール先端を矢印で示している。図7において、実線で示す現在位置から点線または破線で示す目標位置までツール先端を移動させ、ツールであるエアチャックによりワークを把持する作業が行われる。   FIG. 7 schematically shows an aspect of the robot when the tool tip is moved from the current position toward the target position. The robot shown in FIG. 7 is a 4-axis horizontal articulated robot, and an air chuck is attached as a tool to the hand. In FIG. 7, each axis (each joint) and each link are indicated by a circle and a straight line, respectively, and the tip of the tool is indicated by an arrow. In FIG. 7, the tool tip is moved from the current position indicated by the solid line to the target position indicated by the dotted line or the broken line, and the work is gripped by the air chuck that is a tool.

ロボットが破線で示す状態となる場合、ツール先端がワークの正面(図7中、下側の面)に正対する向きになっている。一方、ロボットが点線で示す状態となる場合、ツール先端がワークの正面に対して斜め向きとなっている。これらの各状態では、互いに各軸(関節)の回転角度が異なっている。すなわち、ツールの向きに応じてロボットの姿勢が変化する。そのため、上記各状態では、現在位置からの移動時間が互いに異なる。具体的には、目標位置におけるロボットの姿勢を破線で示した状態とした場合に比べ、点線で示した状態とした場合のほうが、現在位置から目標位置までの移動時間が短くなる。その理由は、点線の状態のほうが、破線の状態に比べ、最も移動時間が長くなる第1軸の移動量(回転量)が小さくなるためである。   When the robot is in a state indicated by a broken line, the tip of the tool is oriented to face the front of the workpiece (the lower surface in FIG. 7). On the other hand, when the robot is in a state indicated by a dotted line, the tool tip is inclined with respect to the front surface of the workpiece. In each of these states, the rotation angles of the respective axes (joints) are different from each other. That is, the posture of the robot changes according to the direction of the tool. Therefore, in each of the above states, the movement times from the current position are different from each other. Specifically, the movement time from the current position to the target position is shorter when the posture of the robot at the target position is the state indicated by the broken line than when the posture is indicated by the dotted line. The reason is that the amount of movement (rotation amount) of the first axis that takes the longest movement time is smaller in the dotted line state than in the broken line state.

上記した目標位置のツール(手先)の向きを不問とするケースにおけるティーチングでも、目標位置におけるツールの先端位置および向きを決定するための変数の値は、作業者により全て指定されることになる。言い換えると、目標位置におけるロボットの姿勢(各軸の回転角度)が作業者により決定されることになる。しかし、前述したとおり、目標位置におけるツールの向きを不問とするケースでは、ツールの先端位置が同じ目標位置となるロボットの姿勢が多数存在する。作業者は、それら多数の姿勢の中から、最適な姿勢を選んで決定する必要がある。つまり、作業者は、ロボットの動作時間が出来るだけ短くなるように、目標位置におけるツールの向きを決定するための変数の値を設定する必要がある。図7のケースであれば、目標位置におけるロボットの姿勢(ツールの向き)を、破線で示した状態ではなく、点線で示した状態となるようなティーチング作業が要求される。   Even in the teaching in the case where the orientation of the tool (hand) at the target position is not questioned, the values of variables for determining the tip position and orientation of the tool at the target position are all designated by the operator. In other words, the posture of the robot at the target position (the rotation angle of each axis) is determined by the operator. However, as described above, in the case where the direction of the tool at the target position is unquestioned, there are many postures of the robot where the tip position of the tool is the same target position. The worker needs to select and determine the optimum posture from the many postures. That is, the operator needs to set the value of a variable for determining the direction of the tool at the target position so that the operation time of the robot is as short as possible. In the case of FIG. 7, teaching work is required so that the posture of the robot (the direction of the tool) at the target position is not the state indicated by the broken line but the state indicated by the dotted line.

このように、目標位置におけるツールの向きを不問とするケースにおいて、多数存在するロボットの姿勢の中から、動作時間が最短となる目標位置におけるロボットの姿勢(各軸の回転角度)を見つけ出す作業は非常に困難であり、たとえ熟練の作業者であっても、その作業に多大な時間を要することが多く、その作業負担が非常に大きい。   In this way, in cases where the orientation of the tool at the target position is unquestioned, the task of finding the robot posture (rotation angle of each axis) at the target position where the operation time is the shortest from among the many robot postures that exist It is very difficult, and even a skilled worker often requires a lot of time for the work, and the work load is very large.

ところで、ロボットを用いた作業のサイクルタイムを短縮するための従来技術としては、例えば特許文献1に記載された技術が挙げられる。特許文献1に記載の技術は、所定の方向や回転方向については位置制御を行わず、その代わりに、力やトルク値による制御を行うというものである。   By the way, as a prior art for shortening the cycle time of the operation | work using a robot, the technique described in patent document 1 is mentioned, for example. The technique described in Patent Document 1 does not perform position control for a predetermined direction or rotation direction, but instead performs control based on force or torque value.

特開平5−23982号公報JP-A-5-23982

しかしながら、特許文献1に記載の技術は、正しく目標位置が計算可能となるように、ユーザにより位置情報および力やトルク値情報が与えられるということを前提としている。そのため、目標位置におけるロボットの姿勢を求める必要があると考えられる。つまり、特許文献1に記載の技術は、従来と手法が異なるだけで同じ程度の作業負担を要するものであり、ユーザによる作業負担が軽減されることは少ないと考えられるため、上記課題を解決する手段であるとは言えない。   However, the technique described in Patent Document 1 is based on the premise that position information, force, and torque value information are given by the user so that the target position can be calculated correctly. For this reason, it is considered necessary to obtain the posture of the robot at the target position. That is, the technique described in Patent Document 1 requires the same work load only by using a different method from the conventional technique, and it is considered that the work load on the user is unlikely to be reduced. It cannot be said that it is a means.

本発明は上記事情に鑑みてなされたものであり、その目的は、目標位置におけるツールの向きを決定するための変数の値を設定する際におけるユーザの作業負担を軽減しつつ、ロボットの移動時間の短縮を図ることができるロボットの制御方法およびロボットの制御装置を提供することにある。   The present invention has been made in view of the above circumstances, and its object is to reduce the work load on the user when setting the value of a variable for determining the direction of the tool at the target position, while moving the robot. It is an object of the present invention to provide a robot control method and a robot control apparatus capable of shortening the length of the robot.

請求項1または3に記載の手段によれば、複数の軸を有するロボットの手先に取り付けられるツールの先端を現在位置から目標位置に向けて移動させる際の制御において、任意変数設定処理と、変数値決定処理とが実行される。一般的なティーチング作業では、ツールの先端位置および向きを決定するための各変数の値は、全てユーザにより指定される。なお、各変数の値とは、ツール先端の各座標値(X軸座標、Y軸座標およびZ軸座標の値)およびツール(手先)の所定軸まわりの回転角度(例えば、4軸の水平多関節型ロボットの場合であれば第4軸(Z軸)まわりの回転角度)の値である。しかし、手先に取り付けられるツールの種類および作業内容によっては、そのツールの向き(=手先の向き)にかかわらず、その作業を達成することが可能な場合もある。例えば、4軸の水平多関節型ロボットにツールとしてエアチャックが用いられる場合、ツールの向き(第4軸まわりの向き)にかかわらずワークを把持することができる。この場合、目標位置におけるツールの向きは、どのような向きでも構わないと言える。従来では、このような場合であっても、ツールの向きを決定するための変数(例えばZ軸まわりの回転角度)をユーザが指定していた。   According to the means of claim 1 or 3, in the control for moving the tip of the tool attached to the hand of the robot having a plurality of axes from the current position toward the target position, an arbitrary variable setting process, a variable A value determination process is executed. In general teaching work, the values of the variables for determining the tip position and orientation of the tool are all specified by the user. Note that the values of each variable are the coordinate values (X-axis coordinates, Y-axis coordinates, and Z-axis coordinates) of the tool tip and the rotation angle (for example, four-axis horizontal multiples) around a predetermined axis of the tool (hand). In the case of an articulated robot, this is the value of the rotation angle around the fourth axis (Z axis). However, depending on the type of tool attached to the hand and the work content, the work may be able to be achieved regardless of the orientation of the tool (= the orientation of the hand). For example, when an air chuck is used as a tool in a 4-axis horizontal articulated robot, the workpiece can be gripped regardless of the direction of the tool (the direction around the fourth axis). In this case, it can be said that the orientation of the tool at the target position may be any orientation. Conventionally, even in such a case, the user has specified a variable (for example, a rotation angle around the Z axis) for determining the direction of the tool.

これに対し、本手段によれば、ツールの向きを決定するための変数のうち、ユーザにより指定される1つまたは2つの変数が任意の値に設定可能な任意変数として設定される(任意変数設定処理)。そして、ツール先端が現在位置から目標位置に移動する際に要する移動時間に基づく評価指標が設定され、その評価指標が最適化されて任意変数の値が決定される(変数値決定処理)。例えば、4軸の水平多関節型ロボットの手先にエアチャックが取り付けられる場合において、ツール(手先)のZ軸まわりの回転角度が任意変数として指定されれば、目標位置におけるツールのZ軸まわりの回転角度は、ツールの移動時間が極力短くなるような値に自動的に決定される。   On the other hand, according to the present means, one or two variables designated by the user among variables for determining the direction of the tool are set as arbitrary variables that can be set to arbitrary values (arbitrary variables Setting process). Then, an evaluation index based on the movement time required for the tool tip to move from the current position to the target position is set, and the evaluation index is optimized to determine the value of an arbitrary variable (variable value determination process). For example, when an air chuck is attached to the tip of a 4-axis horizontal articulated robot, if the rotation angle around the Z axis of the tool (hand) is specified as an arbitrary variable, the tool around the Z axis of the tool at the target position The rotation angle is automatically determined to a value that minimizes the movement time of the tool.

すなわち、変数値決定処理では、任意変数の値として設定可能な全ての数値範囲が変数値範囲として設定される。例えばツール(手先)のZ軸まわりの回転角度の場合であれば、ロボットの機構的な制限から設定可能な数値範囲は「−180度〜+180度」となり、その範囲が変数値範囲として設定される。そして、設定された変数値範囲内の数値が所定の数だけ抽出され、目標位置におけるツールのZ軸まわりの回転角度の値として上記抽出された各数値をそれぞれ設定した場合における評価指標が演算される。   That is, in the variable value determination process, all numerical ranges that can be set as values of arbitrary variables are set as variable value ranges. For example, in the case of the rotation angle around the Z axis of the tool (hand), the numerical range that can be set due to the mechanical limitations of the robot is “−180 degrees to +180 degrees”, and that range is set as the variable value range. The Then, a predetermined number of numerical values within the set variable value range are extracted, and an evaluation index when each of the extracted numerical values is set as the value of the rotation angle around the Z axis of the tool at the target position is calculated. The

このように演算された各評価指標に基づいて、評価指標が最小となる数値(ツールのZ軸まわりの回転角度の値)が含まれるように、変数値範囲が所定範囲だけ狭められて再設定される。評価指標の最小値を含むように変数値範囲を狭くする手法としては、例えば黄金分割法などが挙げられる。そして、再設定された変数値範囲が所定の要求精度範囲を超える場合、上記した変数値範囲を狭めるための各演算が再度実行される。一方、再設定された変数値範囲が要求精度範囲以下である場合、その変数値範囲内の所定の数値が、目標位置におけるツールのZ軸まわりの回転角度の値として決定される。すなわち、最終的に設定されている変数値範囲内のいずれか一つの数値が目標位置における任意変数の値として設定される。そのため、要求精度範囲を狭くするほど、最終的に設定される変数値範囲が狭くなって評価指標が最小となる任意変数の値が求められる精度が高まるものの、上記各演算の繰り返し回数が多くなって変数値決定処理に要する演算時間は長くなる。また、要求精度範囲を広くするほど、最終的に設定される変数値範囲が広くなって評価指標が最小となる任意変数の値が求められる精度が低くなるものの、上記各演算の繰り返し回数が少なくなって変数値決定処理に要する演算時間は短くなる。要求精度範囲は、このようなトレードオフの関係を考慮した上で適宜設定すればよい。   Based on each evaluation index calculated in this way, the variable value range is narrowed by a predetermined range and reset so that the numerical value that minimizes the evaluation index (the value of the rotation angle around the Z axis of the tool) is included. Is done. As a technique for narrowing the variable value range so as to include the minimum value of the evaluation index, for example, the golden section method is cited. When the reset variable value range exceeds the predetermined required accuracy range, each calculation for narrowing the variable value range is executed again. On the other hand, when the reset variable value range is equal to or less than the required accuracy range, a predetermined numerical value within the variable value range is determined as the value of the rotation angle around the Z axis of the tool at the target position. That is, any one numerical value within the finally set variable value range is set as the value of the arbitrary variable at the target position. Therefore, as the required accuracy range is narrowed, the variable value range to be finally set becomes narrower and the accuracy with which the value of an arbitrary variable that minimizes the evaluation index is obtained increases. However, the number of repetitions of each of the above operations increases. Therefore, the calculation time required for the variable value determination process becomes longer. In addition, the wider the required accuracy range, the wider the variable value range to be finally set and the lower the accuracy with which the value of an arbitrary variable that minimizes the evaluation index is obtained, but the number of repetitions of each of the above operations is small. Thus, the calculation time required for the variable value determination process is shortened. The required accuracy range may be appropriately set in consideration of such a trade-off relationship.

このようにして決定されたツールのZ軸まわりの回転角度(任意変数)の値は、移動時間に基づく評価指標が最小となる値、あるいは、それに準ずる値である。すなわち、決定されたZ軸まわりの回転角度の値は、現在位置から目標位置に移動する際におけるツール(ロボット)の移動時間が極力短くなるような値となっている。ロボット側において上記した制御が自動的に実行されるため、ユーザがティーチング時に行う作業としては、目標位置におけるツール先端の各座標値を指定するとともに、ツール(手先)のZ軸まわりの回転角度を任意変数として指定するだけでよい。そして、値が指定された目標位置におけるツール先端のX、Y、Z軸座標の値に加え、上記したように自動的に決定された目標位置におけるツールのZ軸まわりの回転角度(任意変数)の値に基づいて、現在位置から目標位置に向けてツール先端が移動されることにより、ティーチング時におけるユーザ(作業者)の作業負担を軽減しつつ、ロボットの移動時間の短縮を図ることができる。   The value of the rotation angle (arbitrary variable) around the Z axis of the tool determined in this way is a value that minimizes the evaluation index based on the movement time, or a value that conforms to the value. That is, the determined value of the rotation angle around the Z-axis is a value that minimizes the movement time of the tool (robot) when moving from the current position to the target position. Since the above-mentioned control is automatically executed on the robot side, the user performs the teaching operation by specifying each coordinate value of the tool tip at the target position and setting the rotation angle of the tool (hand) around the Z axis. Just specify it as an arbitrary variable. Then, in addition to the X, Y and Z axis coordinate values of the tool tip at the specified target position, the rotation angle of the tool around the Z axis at the target position automatically determined as described above (arbitrary variable) Based on this value, the tool tip is moved from the current position toward the target position, thereby reducing the work load on the user (operator) during teaching and shortening the movement time of the robot. .

なお、ここでは、4軸の水平多関節型ロボットの場合を例に説明したが、例えば6軸の垂直多関節型ロボットの場合であれば次のようになる。すなわち、ツールの向きを決定するための変数(X、Y、Z軸まわりの各回転角度)のうち、いずれか1つ、あるいは、いずれか2つが任意変数として指定されれば、目標位置におけるツール(手先)の特定の軸まわりの回転角度が、ロボットの移動時間が極力短くなるような値に自動的に決定される。その結果、上記した4軸の水平多関節型ロボットの場合と同様の効果が得られる。すなわち、本手段によれば、複数の軸を有するロボット全般について、上記した作用および効果が得られる。   Here, the case of a 4-axis horizontal articulated robot has been described as an example. However, for example, the case of a 6-axis vertical articulated robot is as follows. That is, if any one or two of variables for determining the direction of the tool (respective rotation angles around the X, Y, and Z axes) are designated as arbitrary variables, the tool at the target position The rotation angle of the (hand) around a specific axis is automatically determined to a value that minimizes the movement time of the robot. As a result, the same effects as those of the above-described 4-axis horizontal articulated robot can be obtained. That is, according to this means, the above-mentioned operation and effects can be obtained for all robots having a plurality of axes.

また、変数値決定処理では、ツール先端が現在位置から目標位置まで移動する際に要する移動時間に基づく評価指標を用いるようになっている。従って、例えば加速度まで考慮した詳細な(正確な)移動時間を評価指標とすることも可能であるし、例えば速度のみを考慮した移動時間の概算値を評価指標とすることも可能である。このうち、前者のように評価指標を設定すれば、任意変数を決定する際の精度が高まる。すなわち、ロボットの動作時間を一層確実に短縮できる任意変数の値を設定することが可能となる。一方、後者のように評価指標を設定すれば、その演算を比較的容易に行い得るようになるため、演算時間の短縮を図ることが可能となる。   In the variable value determination process, an evaluation index based on the movement time required when the tool tip moves from the current position to the target position is used. Therefore, for example, it is possible to use a detailed (accurate) moving time considering acceleration as an evaluation index, and it is also possible to use an approximate value of moving time considering only speed as an evaluation index. Among these, if an evaluation index is set as in the former, the accuracy in determining an arbitrary variable increases. That is, it is possible to set an arbitrary variable value that can shorten the operation time of the robot more reliably. On the other hand, if the evaluation index is set as in the latter case, the calculation can be performed relatively easily, and therefore the calculation time can be shortened.

上記した変数値決定処理では、変数値範囲内の数値を抽出する数が多いほど、また、変数値範囲を一度に狭める範囲(所定範囲)が狭いほど、評価指標が最小となる数値が目標位置における任意変数の値として決定される確率(以下では最小化の精度と言う)が高まるものの、変数値決定処理に要する演算時間は長くなる。そして、上記抽出する数が少ないほど、また、上記所定範囲が広いほど、最小化の精度が低くなるものの、変数値決定処理に要する演算時間は短くなる。このようなトレードオフの関係を考慮した上ではあるものの、ユーザは、上記抽出する数および上記所定範囲に加え、前述した要求精度範囲を適宜設定することにより、最小化の精度および演算時間について所望の仕様を満たすように設定を行うことができる。   In the variable value determination process described above, the larger the number of values to be extracted within the variable value range, and the smaller the range that narrows the variable value range at one time (predetermined range), the smaller the numerical value that minimizes the evaluation index is Although the probability of being determined as the value of an arbitrary variable in (in the following, referred to as the accuracy of minimization) increases, the calculation time required for the variable value determination process becomes longer. The smaller the number to be extracted and the wider the predetermined range, the lower the accuracy of minimization, but the shorter the computation time required for the variable value determination process. In consideration of such a trade-off relationship, the user can set a desired accuracy and calculation time by appropriately setting the above-described required accuracy range in addition to the number to be extracted and the predetermined range. Can be set to meet the specifications.

さて、目標位置における任意変数(例えばツールのZ軸まわりの回転角度)が取り得る全ての値について評価指標を演算し、任意変数の関数(以下では評価関数と言う)として表す(グラフ化する)と、次のようなことが分かる。すなわち、その評価関数において、評価指標の最小値(最適値)の部分が谷の底になるとともに、評価指標の最小値ではない他の値(最小値に準ずる値であり、以下では局所値と言う)の部分も谷の底になる。このようになる理由は次のとおりである。   Now, an evaluation index is calculated for all possible values of an arbitrary variable (for example, the rotation angle around the Z axis of the tool) at the target position, and expressed as a function of the arbitrary variable (hereinafter referred to as an evaluation function) (graphed). The following can be understood. That is, in the evaluation function, the minimum value (optimum value) part of the evaluation index is the bottom of the valley, and other values that are not the minimum value of the evaluation index (values according to the minimum value, and in the following, local values and Say) also becomes the bottom of the valley. The reason for this is as follows.

ロボットは、ツール先端の位置(各座標値)が同じであっても、その姿勢が全く異なることがある。そのため、ロボットが取り得る様々な姿勢を、複数の形態に分けて区別するということが通常行われている。例えば4軸の水平多関節型ロボットの場合、第2軸の回転角度の極性が互いに異なる2種類の形態(腕形態)が存在する。つまり、4軸の水平多関節型ロボットの姿勢は、2種類の形態に分類される。また、6軸の垂直多関節型ロボットの場合、第1軸の回転角度が互いに180度異なる2種類の形態(腕形態)、第3軸の回転角度の極性が互いに異なる2種類の形態(肘形態)および第4軸の回転角度が互いに180度異なる2種類の形態(手首形態)が存在する。つまり、それら腕形態、肘形態および手首形態の組み合わせにより合計で8種類の形態に分類される。   Even if the position of the tool tip (each coordinate value) is the same, the robot may have a completely different posture. Therefore, various postures that can be taken by the robot are usually divided into a plurality of forms. For example, in the case of a 4-axis horizontal articulated robot, there are two types of forms (arm forms) with different polarities of the rotation angle of the second axis. That is, the posture of the 4-axis horizontal articulated robot is classified into two types. Further, in the case of a 6-axis vertical articulated robot, two types of configurations (arm configuration) in which the rotation angle of the first axis is 180 degrees different from each other, and two types of configurations (elbow) in which the polarities of the rotation angle of the third axis are different from each other There are two forms (wrist forms) in which the rotation angle of the fourth axis and the fourth axis are different from each other by 180 degrees. That is, it is classified into 8 types in total by the combination of these arm forms, elbow forms, and wrist forms.

このような形態が同じであれば、ロボットの姿勢はあまり変化しない。しかし、形態が異なれば、ロボットの姿勢は大きく異なる。ロボットの姿勢が大きく異なるということは、移動時間に基づく評価指標の変化の傾向についても大きく異なることになる。そのため、ロボットの形態ごとに評価関数の谷が存在することになる。言い換えると、上記評価関数には、ロボットの形態が切り替わる境界である特異点を中心として、その両側に谷の部分が存在することになる。このようなことから、例えば、4軸の水平多関節型ロボットの場合、評価関数は少なくとも2つの谷を有し、6軸の垂直多関節型ロボットの場合、評価関数は少なくとも8つの谷を有することになる。   If such a form is the same, the posture of the robot does not change much. However, if the form is different, the posture of the robot is greatly different. The fact that the postures of the robots are greatly different means that the tendency of changes in the evaluation index based on the movement time is also greatly different. Therefore, there is a valley of evaluation functions for each robot form. In other words, the evaluation function has a valley portion on both sides of a singular point that is a boundary where the form of the robot changes. For this reason, for example, in the case of a 4-axis horizontal articulated robot, the evaluation function has at least two valleys, and in the case of a 6-axis vertical articulated robot, the evaluation function has at least 8 valleys. It will be.

変数値決定処理において、最小値ではなく局所値が目標位置における任意変数の値として設定されてしまうと、ロボットの動作時間を極力短くするという効果が若干低減する。この対策としては、前述した変数値範囲内の数値を抽出する数を多くすることにより、最小値が設定される確率を高めるとよい。しかし、この点のみを重視し、むやみに上記抽出する数を増やし過ぎることは、演算時間の増大を招くことに繋がるため、あまり望ましくない。このような点を改善するためには、請求項2または4に記載の手段を採用するとよい。   In the variable value determination process, if the local value instead of the minimum value is set as the value of the arbitrary variable at the target position, the effect of shortening the robot operation time as much as possible is slightly reduced. As a countermeasure, it is preferable to increase the probability that the minimum value is set by increasing the number of numerical values extracted within the variable value range described above. However, focusing on this point alone and excessively increasing the number to be extracted lead to an increase in computation time, which is not desirable. In order to improve such a point, the means described in claim 2 or 4 may be employed.

請求項2または4に記載の手段によれば、変数値決定処理では、変数値範囲内の数値を所定の数だけ抽出する処理が最初に実行される際、同処理が2回目以降に実行される際に比べて抽出する数値の数を多くするとともに、変数値範囲内の数値が均等に抽出される。変数値範囲内の数値を抽出する処理が最初に実行される際、任意変数の値として設定可能な全ての数値範囲が変数値範囲として設定されている。従って、このときに、比較的多くの数値を変数値範囲内にわたって均等に(まんべんなく)抽出すれば、それらに基づいて、評価指標が最小となる数値(最小値)がどの範囲に存在するのかを容易に且つ確実に判断することが可能となる。すなわち、局所値の回避を容易に且つ確実に行うことができる。一方、2回目以降に同処理を行う際には、抽出する数値の数が比較的少なくなるものの、既に局所値の回避ができているため、最小化の精度に関する問題は生じ難い。本手段では、このように最初に上記処理が実行される際に比較的多くの数値を抽出するようにしているため、最小化の精度を高めつつ、変数値決定処理に要する演算時間がむやみに長くなることを防止できる。   According to the means of claim 2 or 4, in the variable value determination process, when the process of extracting a predetermined number of numerical values within the variable value range is executed for the first time, the process is executed for the second time or later. The number of numerical values to be extracted is increased as compared with the case where the numerical values are within the variable value range. When the process of extracting numerical values within the variable value range is first executed, all numerical value ranges that can be set as values of arbitrary variables are set as variable value ranges. Therefore, at this time, if a relatively large number of values are extracted evenly (evenly) over the variable value range, the range in which the numerical value (minimum value) that minimizes the evaluation index exists is based on them. Judgment can be made easily and reliably. That is, it is possible to easily and reliably avoid the local value. On the other hand, when the same processing is performed after the second time, although the number of numerical values to be extracted is relatively small, a problem regarding minimization accuracy is unlikely to occur because local values have already been avoided. In this means, since a relatively large number of values are extracted when the above process is executed for the first time, the calculation time required for the variable value determination process is increased while improving the accuracy of minimization. It can prevent becoming long.

本発明の第1の実施形態を示すもので、ロボットシステムの概略構成図The 1st Embodiment of this invention is shown, The schematic block diagram of a robot system 変数値決定処理の内容を示すフローチャートFlow chart showing the contents of variable value decision processing 評価指標を任意変数の関数として表す図A figure that represents an evaluation index as a function of an arbitrary variable 現在位置および目標位置におけるロボットの態様を模式的に表す図A diagram schematically showing the robot mode at the current position and target position 目標領域内のいずれかの位置に目標位置が設定される場合の図4相当図FIG. 4 equivalent view when the target position is set at any position within the target area 本発明の第2の実施形態を示す図1相当図FIG. 1 equivalent diagram showing a second embodiment of the present invention 従来技術を示す図4相当図FIG. 4 equivalent diagram showing the prior art

(第1の実施形態)
以下、本発明の第1の実施形態について図1〜図5を参照しながら説明する。
図1は、一般的な産業用ロボットのシステム構成を示している。図1に示すロボットシステム1は、ロボット2と、ロボット2を制御するコントローラ3と、コントローラ3に接続されたティーチングペンダント4とから構成されている。
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS.
FIG. 1 shows a system configuration of a general industrial robot. A robot system 1 shown in FIG. 1 includes a robot 2, a controller 3 that controls the robot 2, and a teaching pendant 4 connected to the controller 3.

ロボット2は、例えば4軸の水平多関節型ロボットとして構成されている。ロボット2は、設置面に固定されるベース5と、ベース5上にZ軸(垂直軸)方向の軸心を持つ第1軸J1を中心に回転可能に連結された第1のアーム6と、第1のアーム6の先端部上にZ軸方向の軸心を持つ第2軸J2を中心に回転可能に連結された第2のアーム7と、第2のアーム7の先端部に上下動可能で且つ回転可能に設けられたシャフト8とから構成されている。シャフト8を上下動させる際の軸が第3軸J3であり、回転させる際の軸が第4軸J4である。シャフト8の先端部(下端部)には、フランジ9が位置決めされて着脱可能に取り付けられる。   The robot 2 is configured as, for example, a 4-axis horizontal articulated robot. The robot 2 includes a base 5 fixed to the installation surface, a first arm 6 connected to the base 5 so as to be rotatable about a first axis J1 having an axis in the Z-axis (vertical axis) direction, A second arm 7 that is rotatably connected around a second axis J2 having an axis center in the Z-axis direction on the tip of the first arm 6 and can be moved up and down to the tip of the second arm 7 And a shaft 8 that is rotatably provided. The axis when moving the shaft 8 up and down is the third axis J3, and the axis when rotating the shaft 8 is the fourth axis J4. A flange 9 is positioned and attached to the tip (lower end) of the shaft 8 so as to be detachable.

ベース5、第1のアーム6、第2のアーム7、シャフト8およびフランジ9は、ロボット2のアームとして機能する。アーム先端であるフランジ9(手先に相当)には、図示はしないが、例えばエアチャックなどのツールが取り付けられる。ロボット2に設けられる複数の軸(J1〜J4)はそれぞれに対応して設けられるモータ(図示せず)により駆動される。各モータの近傍には、それぞれの回転軸の回転角度(回転位置)を検出するための位置検出器(図示せず)が設けられている。   The base 5, the first arm 6, the second arm 7, the shaft 8 and the flange 9 function as an arm of the robot 2. Although not shown in the drawing, a tool such as an air chuck is attached to the flange 9 (corresponding to the hand) that is the tip of the arm. A plurality of axes (J1 to J4) provided in the robot 2 are driven by motors (not shown) provided corresponding to the respective axes. In the vicinity of each motor, a position detector (not shown) for detecting the rotation angle (rotation position) of each rotation shaft is provided.

一般に、産業用のロボットは、予めティーチングなどを実施することにより作成される所定の動作プログラムに従って動作するようになっている。コントローラ3(ロボットの制御装置に相当)は、その動作プログラムに基づいてモータの駆動をフィードバック制御し、ロボット2のアームの動作制御を行う。   In general, an industrial robot operates according to a predetermined operation program created by performing teaching or the like in advance. The controller 3 (corresponding to a control device for the robot) performs feedback control of the motor drive based on the operation program and controls the operation of the arm of the robot 2.

ティーチングペンダント4は、例えば使用者が携帯あるいは手に所持して操作可能な程度の大きさで、例えば薄型の略矩形箱状に形成されている。ティーチングペンダント4には、各種のキースイッチが設けられており、使用者は、それらキースイッチにより種々の入力操作を行う。ティーチングペンダント4は、ケーブルを経由してコントローラ3に接続され、通信インターフェイスを経由してコントローラ3との間で高速のデータ転送を実行するようになっており、キースイッチの操作により入力された操作信号等の情報はティーチングペンダント4からコントローラ3へ送信される。   The teaching pendant 4 is, for example, a size that can be operated by being carried by a user or carried by a hand, and is formed in, for example, a thin, substantially rectangular box shape. The teaching pendant 4 is provided with various key switches, and the user performs various input operations using these key switches. The teaching pendant 4 is connected to the controller 3 via a cable, and performs high-speed data transfer with the controller 3 via a communication interface. An operation input by operating a key switch Information such as signals is transmitted from the teaching pendant 4 to the controller 3.

一般に、ロボット2の手先であるフランジ9に取り付けられるツールの先端を、現在位置から目標位置に向けて移動させる動作のティーチング作業が行われる際、目標位置におけるロボット2の姿勢をどのようなものにするかはユーザにより決定される。すなわち、このようなティーチング作業の際、ツール先端の目標位置を決定するための変数(ツール先端のX軸座標値、Y軸座標値およびZ軸座標値)と、目標位置におけるツール(手先)の向きを決定するための変数(ツールのZ軸まわりの回転角度)とは、全てユーザにより指定される。ただし、フランジ9に取り付けられるツールの種類(形状)およびそのツールを用いた作業の内容によっては、ツールの向きを不問とすることが可能である。例えば、ツールとしてエアチャックが用いられる場合、ツールのZ軸(第4軸J4)まわりの向きがどのような向きであっても、ワークを把持することができる。   In general, when a teaching operation is performed in which the tip of a tool attached to the flange 9 that is the hand of the robot 2 is moved from the current position toward the target position, the posture of the robot 2 at the target position is set to any type. Whether to do so is determined by the user. That is, in such teaching work, variables for determining the target position of the tool tip (X-axis coordinate value, Y-axis coordinate value and Z-axis coordinate value of the tool tip) and the tool (hand) at the target position All variables for determining the direction (the rotation angle of the tool around the Z axis) are specified by the user. However, depending on the type (shape) of the tool attached to the flange 9 and the content of work using the tool, the direction of the tool can be made unquestioned. For example, when an air chuck is used as a tool, the workpiece can be gripped regardless of the orientation of the tool around the Z axis (fourth axis J4).

本実施形態のロボットシステム1では、上記したツールの向きを不問とすることが可能なケースにおいて、ユーザは、ツール先端の目標位置を示すX、Y、Z軸座標の値を指定するだけでよく、目標位置におけるツールのZ軸まわりの回転角度Rzの値を指定しなくてよい。その代わりに、ユーザは、ツールのZ軸まわりの回転角度Rzを任意変数として指定する。これを受けて、コントローラ3は、回転角度Rzを、コントローラ3側で任意の値に設定可能な任意変数として設定する(任意変数設定処理)。また、詳細は後述するが、コントローラ3は、ツールの先端が現在位置から目標位置に移動する際に要する移動時間に基づく評価指標を設定し、その評価指標を最適化することで任意変数の値を決定する(変数値決定処理)。このように、コントローラ3は、任意変数設定処理手段および変数値決定処理手段として機能する。本実施形態では、コントローラ3により上記各処理が実行されることにより、目標位置におけるツールの向きが、ロボット2の移動時間が極力短くなるようなものに決定される。   In the robot system 1 of the present embodiment, in the case where the orientation of the tool can be made unquestioned, the user only has to specify the values of the X, Y, and Z axis coordinates indicating the target position of the tool tip. The value of the rotation angle Rz around the Z axis of the tool at the target position need not be specified. Instead, the user specifies the rotation angle Rz about the Z axis of the tool as an arbitrary variable. Receiving this, the controller 3 sets the rotation angle Rz as an arbitrary variable that can be set to an arbitrary value on the controller 3 side (arbitrary variable setting process). Although details will be described later, the controller 3 sets an evaluation index based on the movement time required when the tip of the tool moves from the current position to the target position, and optimizes the evaluation index to set the value of the arbitrary variable. Is determined (variable value determination processing). Thus, the controller 3 functions as an arbitrary variable setting processing unit and a variable value determination processing unit. In the present embodiment, the controller 3 executes the processes described above, so that the direction of the tool at the target position is determined such that the movement time of the robot 2 is as short as possible.

図2は、変数値決定処理の内容を示すフローチャートである。図2に示すように、変数値決定処理が開始されると(スタート)、任意変数の値として設定可能な全ての数値範囲が変数値範囲として設定される(ステップS1)。本実施形態において、任意変数であるツールのZ軸まわりの回転角度Rzの設定可能な数値範囲は、ロボット2の機構的な制限から−180度〜+180度となる。ステップS2では、設定された変数値範囲内のN個(所定の数)の数値が抽出される。なお、理由は後述するが、Nは3以上の整数であればよい。ステップS3では、目標位置におけるツールのZ軸まわりの回転角度Rzの値として、ステップS2で抽出された各数値をそれぞれ設定した場合における評価指標が演算される。   FIG. 2 is a flowchart showing the contents of variable value determination processing. As shown in FIG. 2, when the variable value determination process is started (start), all numerical value ranges that can be set as values of arbitrary variables are set as variable value ranges (step S1). In the present embodiment, the settable numerical range of the rotation angle Rz around the Z axis of the tool, which is an arbitrary variable, is −180 degrees to +180 degrees due to the mechanical limitation of the robot 2. In step S2, N (predetermined numbers) numerical values within the set variable value range are extracted. Although the reason will be described later, N may be an integer of 3 or more. In step S3, an evaluation index is calculated when each numerical value extracted in step S2 is set as the value of the rotation angle Rz around the Z axis of the tool at the target position.

ステップS4では、ステップS3で演算された各評価指標の値に基づいて、評価指標が最小となる数値が含まれるように、変数値範囲が所定範囲だけ狭められて再設定される。本実施形態では、以下のようにして変数値範囲を再設定している。例えば、ステップS2において、−90度、+30度および+150度の3個の数値が抽出された(N=3)とする。そして、これら数値に対応する評価指標の値としては、+30度が最も小さく、+150度が2番目に小さく、−90度が最も大きい結果となった。   In step S4, based on the value of each evaluation index calculated in step S3, the variable value range is narrowed and reset by a predetermined range so that the numerical value that minimizes the evaluation index is included. In the present embodiment, the variable value range is reset as follows. For example, assume that three numerical values of −90 degrees, +30 degrees, and +150 degrees are extracted in step S2 (N = 3). And as a value of the evaluation index corresponding to these numerical values, +30 degrees is the smallest, +150 degrees is the second smallest, and -90 degrees is the largest.

このような場合、評価指標が最も小さくなる数値は、抽出した数値のうち評価指標が最も小さくなった+30度の周辺、つまり−90度〜+30度の範囲、もしくは、+30度〜+150度の範囲のいずれかに存在する可能性が高い。そして、評価指標が最も小さくなる数値は、評価指標が最も小さくなった+30度から離れた範囲、つまり+150度〜−90度の範囲に存在する可能性は低い。そこで、−90度〜+30度〜+150度の範囲(240度の範囲)を新たな変数値範囲として設定する。すなわち、元々の変数値範囲(360度の範囲)から120度の範囲(所定範囲)だけ狭めた範囲が新たな変数値範囲として設定される。なお、ここでは、説明のためにN=3とした場合の説明を行ったが、N≧4とした場合であっても同様の手法により、変数値範囲の再設定が行われる。   In such a case, the numerical value with the smallest evaluation index is around +30 degrees where the evaluation index is the smallest among the extracted numerical values, that is, in the range of -90 degrees to +30 degrees, or in the range of +30 degrees to +150 degrees. Is likely to exist in any of the. The numerical value with the smallest evaluation index is unlikely to exist in a range away from +30 degrees where the evaluation index is smallest, that is, within a range of +150 degrees to -90 degrees. Therefore, a range of −90 degrees to +30 degrees to +150 degrees (240 degrees range) is set as a new variable value range. That is, a range that is narrowed by a range of 120 degrees (predetermined range) from the original variable value range (range of 360 degrees) is set as a new variable value range. Here, for the sake of explanation, the case where N = 3 has been described. However, even when N ≧ 4, the variable value range is reset by the same method.

ステップS5では、再設定された変数値範囲が所定の要求精度範囲以下であるか否かが判断される。その結果、変数値範囲が要求精度範囲を超える場合(ステップS5で「NO」)、ステップS2に戻る。そして、変数値範囲をさらに狭めるため、ステップS2〜S5の処理が再度実行される。一方、変数値範囲が要求精度範囲以下である場合(ステップS5で「YES」)、ステップS6に進む。ステップS6では、ステップS4で再設定された変数値範囲内の中心の数値が、目標位置におけるツールのZ軸まわりの回転角度Rz(任意変数)の値として決定される。例えば、変数値範囲が+12度〜+14度であれば、+13度が、目標位置におけるツールのZ軸まわりの回転角度Rzの値として決定される。なお、ステップS6では、変数値範囲内の所定の数値を、目標位置における任意変数の値として決定すればよい。従って、例えば、変数値範囲内の最小値や最大値を、目標位置における任意変数の値として決定してもよい。   In step S5, it is determined whether or not the reset variable value range is equal to or less than a predetermined required accuracy range. As a result, when the variable value range exceeds the required accuracy range (“NO” in step S5), the process returns to step S2. And in order to narrow a variable value range further, the process of step S2-S5 is performed again. On the other hand, when the variable value range is equal to or less than the required accuracy range (“YES” in step S5), the process proceeds to step S6. In step S6, the numerical value at the center within the variable value range reset in step S4 is determined as the value of the rotation angle Rz (arbitrary variable) around the Z axis of the tool at the target position. For example, if the variable value range is +12 degrees to +14 degrees, +13 degrees is determined as the value of the rotation angle Rz around the Z axis of the tool at the target position. In step S6, a predetermined numerical value within the variable value range may be determined as the value of the arbitrary variable at the target position. Therefore, for example, the minimum value or the maximum value within the variable value range may be determined as the value of the arbitrary variable at the target position.

このような処理が実行されることにより、最終的に設定されている変数値範囲内のいずれか一つの数値が目標位置における任意変数の値として設定されることになる。そのため、要求精度範囲を狭くするほど、最終的に設定される変数値範囲が狭くなって評価指標が最小となる任意変数の値が求められる精度が高まるものの、上記処理(ステップS2〜S5)の繰り返し回数が多くなって変数値決定処理に要する演算時間が長くなる。また、要求精度範囲を広くするほど、最終的に設定される変数値範囲が広くなって評価指標が最小となる任意変数の値が求められる精度が低くなるものの、上記処理の繰り返し回数が少なくなって変数値決定処理に要する演算時間が短くなる。要求精度範囲は、このようなトレードオフの関係を考慮した上で適宜設定すればよい。   By executing such processing, any one numerical value within the finally set variable value range is set as the value of the arbitrary variable at the target position. Therefore, the narrower the required accuracy range, the narrower the variable value range that is finally set and the greater the accuracy with which the value of an arbitrary variable that minimizes the evaluation index is obtained, but the above processing (steps S2 to S5). The number of repetitions increases and the computation time required for the variable value determination process becomes longer. In addition, the wider the required accuracy range, the wider the variable value range to be finally set, and the lower the accuracy with which the value of an arbitrary variable that minimizes the evaluation index is obtained, but the number of repetitions of the above processing decreases. Thus, the calculation time required for the variable value determination process is shortened. The required accuracy range may be appropriately set in consideration of such a trade-off relationship.

このようにして決定されたツールのZ軸まわりの回転角度Rz(任意変数)の値は、移動時間に基づく評価指標が最小となる値、あるいは、それに極めて近い値である。すなわち、決定されたZ軸まわりの回転角度Rzの値は、現在位置から目標位置に向けて移動する際におけるツール(ロボット2)の移動時間が極力短くなるような値となっている。コントローラ3により上記した制御が自動的に実行されるため、ユーザがティーチング時に行う作業としては、前述したように目標位置におけるツール先端の各座標値を指定するとともに、ツールのZ軸まわりの回転角度Rzを任意変数として指定するだけでよい。そして、コントローラ3は、値が指定された目標位置におけるツール先端のX、Y、Z軸座標の値に加え、上記した各処理により自動的に決定された目標位置におけるツールのZ軸回りの回転角度Rzの値(ツールの向き)に基づいて、ツール先端を現在位置から目標位置に向けて移動させることができる。これにより、ティーチング時におけるユーザ(作業者)の作業負担が軽減されるとともに、ロボット2の移動時間が短縮されることになる。   The value of the rotation angle Rz (arbitrary variable) around the Z axis of the tool determined in this way is a value that minimizes the evaluation index based on the movement time, or a value very close to it. That is, the determined value of the rotation angle Rz about the Z axis is a value that minimizes the movement time of the tool (robot 2) when moving from the current position toward the target position. Since the above-described control is automatically executed by the controller 3, the work performed by the user during teaching is to specify each coordinate value of the tool tip at the target position as described above, and to rotate the tool around the Z axis. It is only necessary to specify Rz as an arbitrary variable. Then, the controller 3 rotates the tool around the Z axis at the target position automatically determined by the above-described processes in addition to the X, Y, and Z axis coordinate values of the tool tip at the target position where the value is specified. Based on the value of the angle Rz (tool direction), the tool tip can be moved from the current position toward the target position. As a result, the burden on the user (operator) during teaching is reduced, and the movement time of the robot 2 is shortened.

変数値決定処理においては、ツール先端が現在位置から目標位置まで移動する際に要する移動時間に基づく評価指標を用いるようにしている。従って、例えば各軸の加速度まで考慮した詳細な(正確な)移動時間を評価指標とすることも可能であるし、例えば各軸の速度のみを考慮した移動時間の概算値(近似値)を評価指標とすることも可能である。つまり、評価指標を設定する上での自由度が高い。このうち、前者のように評価指標を設定すれば、任意変数を決定する際の精度が高まる。すなわち、ロボット2の動作時間を一層確実に短縮できる任意変数の値を設定することが可能となる。一方、後者のように評価指標を設定すれば、その評価指標を求める演算を比較的容易に行い得るようになるため、演算時間の短縮を図ることが可能となる。   In the variable value determination process, an evaluation index based on the movement time required when the tool tip moves from the current position to the target position is used. Therefore, for example, detailed (accurate) travel time considering the acceleration of each axis can be used as an evaluation index, and for example, an approximate value (approximate value) of travel time considering only the speed of each axis is evaluated. It can also be used as an index. That is, the degree of freedom in setting the evaluation index is high. Among these, if an evaluation index is set as in the former, the accuracy in determining an arbitrary variable increases. That is, it is possible to set the value of an arbitrary variable that can shorten the operation time of the robot 2 more reliably. On the other hand, if the evaluation index is set as in the latter case, the calculation for obtaining the evaluation index can be performed relatively easily, so that the calculation time can be shortened.

変数値決定処理では、変数値範囲内の数値を抽出する数が多いほど、また、変数値範囲を一度に狭める範囲(所定範囲)が狭いほど、評価指標が最小となる数値が目標位置における任意変数として決定される確率(以下では最小化の精度と言う)が高まるものの、変数値決定処理に要する演算時間が長くなる。そして、上記抽出する数が少ないほど、また、上記所定範囲が広いほど、最小化の精度が低くなるものの、変数値決定処理に要する演算時間が短くなる。このようなトレードオフの関係を考慮した上ではあるものの、ユーザは、上記抽出する数および上記所定範囲に加え、前述した要求精度範囲を適宜設定することにより、最小化の精度および演算時間について所望の仕様を満たすように設定することができる。このように、本実施形態のロボットシステム1は、ユーザフレンドリなシステムであると言える。   In the variable value determination process, the larger the number of values to be extracted within the variable value range, and the narrower the range (predetermined range) that narrows the variable value range at a time, the smaller the numerical value at which the evaluation index is at an arbitrary Although the probability of being determined as a variable (hereinafter referred to as the accuracy of minimization) increases, the computation time required for the variable value determination process becomes longer. The smaller the number to be extracted and the wider the predetermined range, the lower the accuracy of minimization, but the shorter the computation time required for variable value determination processing. In consideration of such a trade-off relationship, the user can set a desired accuracy and calculation time by appropriately setting the above-described required accuracy range in addition to the number to be extracted and the predetermined range. Can be set to meet the specifications. Thus, it can be said that the robot system 1 of this embodiment is a user-friendly system.

図3は、目標位置におけるツールのZ軸まわりの回転角度Rz(任意変数)が取り得る全ての値について評価指標を演算し、任意変数の関数(以下では評価関数と言う)として表した(グラフ化した)ものである。この図3に示すように、評価関数は、2つの谷を有しており、評価指標の最小値(最適値)の部分が一方の谷の底に位置し、評価指標の最小値ではない他の値(最小値に準ずる値であり、以下では局所値と言う)の部分が他方の谷の底に位置している。評価関数にこのような2つの谷が存在する理由は、次のとおりである。   FIG. 3 calculates evaluation indexes for all possible values of the rotation angle Rz (arbitrary variable) of the tool around the Z-axis at the target position, and represents it as a function of the arbitrary variable (hereinafter referred to as an evaluation function) (graph). ). As shown in FIG. 3, the evaluation function has two valleys, and the minimum value (optimum value) portion of the evaluation index is located at the bottom of one valley and is not the minimum value of the evaluation index. The portion of the value (which is a value according to the minimum value, hereinafter referred to as a local value) is located at the bottom of the other valley. The reason why such two valleys exist in the evaluation function is as follows.

ロボットは、ツール先端の位置(X、Y、Z軸座標値)が同じであっても、その姿勢が全く異なることがある。そのため、通常、ロボットが取り得る様々な姿勢を、複数の形態に分けて区別するということが行われている。例えば、本実施形態のロボット2(4軸の水平多関節型ロボット)の場合、2つの形態に分類される。すなわち、第2軸J2の回転角度がプラス(+)になる腕形態と、第2軸J2の回転角度がマイナス(−)になる腕形態とに分類される。このような形態が同じであれば、ロボット2の姿勢はあまり変化しない。しかし、形態が異なれば、ロボット2の姿勢は大きく異なる。ロボット2の姿勢が大きく異なるということは、移動時間に基づく評価指標の変化の傾向についても大きく異なることになる。そのため、ロボット2の形態ごとに評価関数の谷が存在することになる。言い換えると、上記評価関数には、ロボット2の形態が切り替わる境界である特異点を中心として、その両側に谷の部分が存在することになる。このようなことから、本実施形態のロボット2の場合、評価関数は少なくとも2つの谷を有することになる。   Even if the position of the tool tip (X, Y, Z coordinate values) is the same, the robot may have a completely different posture. For this reason, various postures that can be taken by a robot are usually divided into a plurality of forms. For example, the robot 2 (four-axis horizontal articulated robot) of this embodiment is classified into two forms. That is, it is classified into an arm form in which the rotation angle of the second axis J2 is plus (+) and an arm form in which the rotation angle of the second axis J2 is minus (−). If such a form is the same, the posture of the robot 2 does not change much. However, if the form is different, the posture of the robot 2 is greatly different. The fact that the posture of the robot 2 is greatly different also means that the tendency of change in the evaluation index based on the movement time is greatly different. Therefore, the valley of the evaluation function exists for each form of the robot 2. In other words, the evaluation function includes valley portions on both sides of a singular point that is a boundary where the form of the robot 2 switches. For this reason, in the case of the robot 2 of the present embodiment, the evaluation function has at least two valleys.

変数値決定処理において、最小値ではなく局所値が目標位置における任意変数の値として設定されてしまうと、ロボット2の動作時間を極力短くするという効果が若干低減する。その対策としては、ステップS2で変数値範囲内の数値を抽出する数を多くする(Nの値を大きくする)ことにより、最小値が設定される確率を高めるとよい。しかし、この点のみを重視し、むやみに上記抽出する数を増やし過ぎることは、演算時間の増大を招くことに繋がるため、あまり望ましくない。このような点を改善するためには、変数値決定処理を次のように変更するとよい。   In the variable value determination process, if the local value instead of the minimum value is set as the value of the arbitrary variable at the target position, the effect of shortening the operation time of the robot 2 as much as possible is slightly reduced. As a countermeasure, it is preferable to increase the probability that the minimum value is set by increasing the number of numerical values extracted in the variable value range in step S2 (increasing the value of N). However, focusing on this point alone and excessively increasing the number to be extracted lead to an increase in computation time, which is not desirable. In order to improve such a point, the variable value determination process may be changed as follows.

すなわち、変数値決定処理が開始された後、最初にステップS2が実行される際、ステップS2が2回目以降に実行される際に比べて、抽出する数を多くする(Nの値を大きくする)とともに、変数値範囲内の数値を均等に抽出するように変更する。ステップS2が最初に実行される際、任意変数の値として設定可能な全ての数値範囲が変数値範囲として設定されている。従って、このときに、比較的多くの数値を変数値範囲内にわたって均等に(まんべんなく)抽出すれば、それらに基づいて、評価指標が最小となる数値(最小値)がどの範囲に存在するのかを容易に且つ確実に判断することが可能となる。つまり、局所値の回避を容易且つ確実に行うことができる。   That is, after the variable value determination process is started, when the step S2 is executed for the first time, the number to be extracted is increased (the value of N is increased) compared with the case where the step S2 is executed for the second time and thereafter. ) And change so that numerical values within the variable value range are evenly extracted. When step S2 is executed for the first time, all numerical value ranges that can be set as values of arbitrary variables are set as variable value ranges. Therefore, at this time, if a relatively large number of values are extracted evenly (evenly) over the variable value range, the range in which the numerical value (minimum value) that minimizes the evaluation index exists is based on them. Judgment can be made easily and reliably. That is, it is possible to easily and reliably avoid the local value.

一方、ステップS2が2回目以降に実行される際には、抽出する数値の数が比較的少なくなるものの、既に局所値の回避ができているため、最小化の精度に関する問題は生じ難い。また、ステップS2〜S4が2回目以降に実行される際、評価指標の最小値を含むように変数値範囲を狭くする手法として、例えば黄金分割法などの収束が早い手法を用いることが可能である。なお、黄金分割法を用いる場合、抽出する数は2個以上(N≧2)でよい。このように、最初にステップS2が実行される際に比較的多くの数値をまんべんなく抽出することで、最小化の精度を高めつつ、変数値決定処理に要する演算時間がむやみに長くなることを防止できる。   On the other hand, when step S2 is executed after the second time, although the number of numerical values to be extracted is relatively small, a local value is already avoided, so that a problem regarding the accuracy of minimization hardly occurs. Further, when steps S2 to S4 are executed after the second time, as a method of narrowing the variable value range so as to include the minimum value of the evaluation index, for example, a method such as a golden division method can be used. is there. When the golden section method is used, the number to be extracted may be two or more (N ≧ 2). In this way, by extracting a relatively large number of values evenly when step S2 is executed for the first time, it is possible to prevent the calculation time required for the variable value determination process from becoming unnecessarily long while improving the accuracy of minimization. it can.

次に、本実施形態のロボットシステム1により得られる具体的な効果について、図4および図5も参照して説明する。
図4は、ツール先端を現在位置Pcから目標位置Pdに向けて移動させる際におけるロボットの態様を模式的に示している。図4に示すロボットは、4軸の水平多関節型ロボットであり、その手先にツールとしてエアチャックが取り付けられている。なお、図4では、各軸および各リンクをそれぞれ丸印および直線で示すとともに、ツール先端を矢印で示している。また、現在位置におけるロボットの状態を点線で示すとともに、目標位置におけるロボットの状態を実線で示している。ここでは、現在位置Pcから目標位置Pdまでツール先端を移動させ、ツールであるエアチャックによりワークを把持する作業が行われるものとする。
Next, specific effects obtained by the robot system 1 of the present embodiment will be described with reference to FIGS. 4 and 5 as well.
FIG. 4 schematically shows an aspect of the robot when the tool tip is moved from the current position Pc toward the target position Pd. The robot shown in FIG. 4 is a four-axis horizontal articulated robot, and an air chuck is attached as a tool to the hand. In FIG. 4, each axis and each link are indicated by a circle and a straight line, respectively, and the tool tip is indicated by an arrow. In addition, the state of the robot at the current position is indicated by a dotted line, and the state of the robot at the target position is indicated by a solid line. Here, it is assumed that the tool tip is moved from the current position Pc to the target position Pd and the work is gripped by an air chuck that is a tool.

上記ケースにおけるティーチング作業は、従来の手法によれば次のように行われる。すなわち、ティーチングを担当する作業者は、まず、図4の(a)、(b)、(c)のそれぞれに示す状態(姿勢)について検討する。つまり、作業者は、ツールの向きを大まかに変えてみて、どの向きが良さそうであるかを推測する。その結果、(c)の状態が良さそうであると判断した場合、(c)の状態をベースにし、その(c)状態からツールの向きを少しずつ変化させたもの(図4の(d)、(e)、(f)のそれぞれに示す状態)について検討する。その結果、図4(f)の状態が最適である(移動時間が短くなる)という判断に至る。なお、ここでは、説明を簡略化するため、作業者が検討する状態の数を少なくするとともに、少ない繰り返し作業で最適な状態が見つかるケースとしている。実際には、さらに多くの状態について検討したり、繰り返し回数が増えたりすることもある。   The teaching work in the above case is performed as follows according to the conventional method. That is, the worker in charge of teaching first examines the states (postures) shown in FIGS. 4A, 4B, and 4C. That is, the worker roughly changes the direction of the tool and estimates which direction is likely to be good. As a result, when it is determined that the state of (c) looks good, the direction of the tool is gradually changed from the state of (c) based on the state of (c) ((d) of FIG. 4). , (E), and (f)). As a result, it is determined that the state of FIG. 4F is optimal (movement time is shortened). Here, in order to simplify the description, the number of states examined by the operator is reduced, and the optimum state can be found with a small number of repeated operations. In practice, more states may be considered or the number of repetitions may increase.

これに対し、本実施形態のロボットシステム1によれば、目標位置Pdにおけるツールの向きは、コントローラ3により、ロボット2の移動時間が極力短くなるような向きに自動的に決定される。従って、従来の手法のような繰り返しの過程を経ることなく、図4の(f)の状態(ツールの向き)が最適である(移動時間を極力短くできる)という結果が容易に得られる。   On the other hand, according to the robot system 1 of the present embodiment, the direction of the tool at the target position Pd is automatically determined by the controller 3 so that the movement time of the robot 2 is as short as possible. Therefore, the result of the state (tool direction) in FIG. 4 (optimum) (optimized movement time can be shortened as much as possible) can be easily obtained without going through an iterative process as in the conventional method.

このように、従来の手法によれば、ティーチングを担当する作業者の経験と推測により、少しずつ目標位置におけるロボットの状態(姿勢)を変化させる。そして、その作業を何回(例えば5回)か繰り返した結果、例えば、現在位置および目標位置におけるツールの向きが互いに同じロボットの姿勢(図4の(a))に比べ、ロボットの動作時間が短くなる(例えば25%程度の改善)ツールの向きを得ることが可能となっていた。これに対し、本実施形態のロボットシステム1によれば、ティーチングを担当する作業者の経験などに関係なく、従来の手法による効果と同程度の効果を得ることができる。さらに、その際、作業者は目標位置におけるロボットの姿勢について具体的に検討する必要がないため、その作業負担が大きく軽減されることになる。   Thus, according to the conventional method, the state (posture) of the robot at the target position is changed little by little based on the experience and guess of the worker in charge of teaching. Then, as a result of repeating the operation several times (for example, five times), for example, the operation time of the robot is larger than the posture of the robot having the same tool orientation at the current position and the target position ((a) in FIG. 4). It has become possible to obtain a tool orientation that is shorter (for example, an improvement of about 25%). On the other hand, according to the robot system 1 of the present embodiment, the same effect as that obtained by the conventional method can be obtained regardless of the experience of the worker in charge of teaching. Further, at that time, the operator does not need to specifically examine the posture of the robot at the target position, so that the work load is greatly reduced.

図5は、ツール先端を現在位置Pcから目標領域Ad内の任意の目標位置に向けて移動させる際における図4相当図である。この場合、図5の(a)に示す目標領域Ad内におけるどの位置に移動すればよいかについては実作業時にカメラなどの外部機器から与えられ、ティーチングの時点において作業者は知ることができないものとする。このようなケースでは、目標領域Ad内のどの位置に目標位置が設定されるかによってツールの最適な向きが変化する。そのため、従来の手法では、図5の(b)に示すように、目標領域Adを複数の小領域に分割し、それら小領域ごとに最適なツールの向きを教示するなど、非常に手間がかかっていた。また、どのように目標領域Adを分割するかによって、最適なツールの向きが得られるかどうかが変化するため、ティーチングを担当する作業者の個人能力に大きく依存する部分があった。   FIG. 5 is a view corresponding to FIG. 4 when the tool tip is moved from the current position Pc toward an arbitrary target position in the target area Ad. In this case, the position to be moved in the target area Ad shown in FIG. 5A is given from an external device such as a camera during actual work, and the worker cannot know at the time of teaching. And In such a case, the optimum direction of the tool changes depending on the position in the target area Ad where the target position is set. Therefore, in the conventional method, as shown in FIG. 5B, the target area Ad is divided into a plurality of small areas, and an optimum tool orientation is taught for each of the small areas. It was. Also, depending on how the target area Ad is divided, whether or not the optimum tool orientation can be obtained changes, and therefore there is a part that depends greatly on the individual ability of the worker in charge of teaching.

これに対し、本実施形態のロボットシステム1によれば、実作業時に初めてカメラなどの外部機器から目標位置が与えられるケースであっても、コントローラ3は、与えられた目標位置に基づいて、その目標位置における最適なツールの向きを自動的に決定する。そのため、従来の手法のように目標領域Adを小領域に分割し、それら小領域ごとにティーチングをするといった手間のかかる作業を省くことが可能となる。   On the other hand, according to the robot system 1 of the present embodiment, even in a case where a target position is given from an external device such as a camera for the first time during actual work, the controller 3 The optimum tool orientation at the target position is automatically determined. For this reason, it is possible to save the time-consuming work of dividing the target area Ad into small areas and teaching for each small area as in the conventional method.

(第2の実施形態)
以下、第1の実施形態に対し、対象とするロボットの種類を変更した第2の実施形態について図6を参照しながら説明する。
図6は、第1の実施形態における図1相当図であり、第1の実施形態と同一部分には同一符号を付して説明を省略する。図6に示す本実施形態のロボットシステム21は、図1に示した第1の実施形態のロボットシステム1に対し、ロボット2に代えてロボット22を備えている点が異なる。
(Second Embodiment)
Hereinafter, a second embodiment in which the type of the target robot is changed with respect to the first embodiment will be described with reference to FIG.
FIG. 6 is a view corresponding to FIG. 1 in the first embodiment, and the same parts as those in the first embodiment are denoted by the same reference numerals and description thereof is omitted. The robot system 21 of this embodiment shown in FIG. 6 differs from the robot system 1 of the first embodiment shown in FIG. 1 in that a robot 22 is provided instead of the robot 2.

ロボット22は、例えば6軸の垂直多関節型ロボットとして構成されている。すなわち、ベース25上には、Z軸方向の軸心を持つ第1軸J21を介してショルダ部26が水平方向に回転可能に連結されている。ショルダ部26には、Y軸方向の軸心を持つ第2軸J22を介して上方に延びる下アーム27の下端部が垂直方向に回転可能に連結されている。下アーム27の先端部には、Y軸方向の軸心を持つ第3軸J23を介して第1の上アーム28が垂直方向に回転可能に連結されている。第1の上アーム28の先端部には、X軸方向の軸心を持つ第4軸J24を介して第2の上アーム29が捻り回転可能に連結されている。第2の上アーム29の先端部には、Y軸方向の軸心を持つ第5軸J25を介して手首30が垂直方向に回転可能に連結されている。手首30には、X軸方向の軸心を持つ第6軸J26を介してフランジ31が捻り回転可能に連結されている。   The robot 22 is configured as, for example, a 6-axis vertical articulated robot. In other words, the shoulder portion 26 is coupled to the base 25 so as to be rotatable in the horizontal direction via a first axis J21 having an axis in the Z-axis direction. A lower end portion of a lower arm 27 extending upward is connected to the shoulder portion 26 via a second axis J22 having an axis in the Y-axis direction so as to be rotatable in the vertical direction. A first upper arm 28 is connected to the distal end portion of the lower arm 27 via a third axis J23 having an axis in the Y-axis direction so as to be rotatable in the vertical direction. A second upper arm 29 is connected to the distal end portion of the first upper arm 28 via a fourth axis J24 having an axis in the X-axis direction so as to be able to rotate. A wrist 30 is connected to the tip of the second upper arm 29 via a fifth axis J25 having an axis in the Y-axis direction so as to be rotatable in the vertical direction. A flange 31 is connected to the wrist 30 via a sixth axis J26 having an axis in the X-axis direction so as to be able to rotate.

ベース25、ショルダ部26、下アーム27、第1の上アーム28、第2の上アーム29、手首30およびフランジ31は、ロボット22のアームとして機能する。アーム先端であるフランジ31(手先に相当)には、図示はしないが、例えばエアチャックなどのツールが取り付けられる。ロボット22に設けられる複数の軸(J21〜J26)は、第1の実施形態のロボット2と同様、それぞれに対応して設けられるモータ(図示せず)により駆動される。また、各モータの近傍には、それぞれの回転軸の回転位置を検出するための位置検出器(図示せず)が設けられている。   The base 25, the shoulder portion 26, the lower arm 27, the first upper arm 28, the second upper arm 29, the wrist 30 and the flange 31 function as an arm of the robot 22. Although not shown, a tool such as an air chuck is attached to the flange 31 (corresponding to the hand) that is the tip of the arm. The plurality of axes (J21 to J26) provided in the robot 22 are driven by motors (not shown) provided corresponding to the respective axes, similarly to the robot 2 of the first embodiment. Further, in the vicinity of each motor, a position detector (not shown) for detecting the rotational position of each rotating shaft is provided.

このような本実施形態の構成においても、コントローラ3は、第1の実施形態と同様の任意変数設定処理および変数値決定処理を実行することが可能である。例えば、ツールの向きを決定するための変数(X、Y、Z軸まわりの回転角度Rx、Ry、Rz)のうち、いずれか1つ、あるいは、いずれか2つが任意変数として指定されれば、その指定された変数が任意変数として設定される(任意変数設定処理)。そして、コントローラ3により変数値決定処理が行われる。これにより、目標位置における任意変数の値(ツールの向き)が、ロボット22の移動時間が極力短くなるような値に自動的に決定される。その結果、本実施形態の構成においても、第1の実施形態と同様の作用および効果が得られる。   Also in the configuration of the present embodiment, the controller 3 can execute the same arbitrary variable setting process and variable value determination process as in the first embodiment. For example, if any one or two of the variables for determining the direction of the tool (the rotation angles Rx, Ry, Rz around the X, Y, and Z axes) are designated as arbitrary variables, The designated variable is set as an arbitrary variable (arbitrary variable setting process). Then, the controller 3 performs variable value determination processing. Thereby, the value of the arbitrary variable (tool direction) at the target position is automatically determined to a value that minimizes the movement time of the robot 22. As a result, also in the configuration of the present embodiment, the same operations and effects as those of the first embodiment can be obtained.

(その他の実施形態)
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、次のような変形または拡張が可能である。
上記各実施形態では、本発明を4軸の水平多関節型のロボット2、または6軸の垂直多関節型のロボット22に適用した例を説明したが、本発明は、複数の軸を有するロボット全般に適用可能である。
(Other embodiments)
The present invention is not limited to the embodiments described above and illustrated in the drawings, and the following modifications or expansions are possible.
In each of the above embodiments, the example in which the present invention is applied to the 4-axis horizontal articulated robot 2 or the 6-axis vertical articulated robot 22 has been described. However, the present invention is a robot having a plurality of axes. Applicable in general.

図面中、2、22はロボット、3はコントローラ(ロボットの制御装置、任意変数設定処理手段、変数値決定処理手段)、9、31はフランジ(手先)、J1〜J4、J21〜J26は軸を示す。   In the drawing, 2 and 22 are robots, 3 is a controller (robot control device, arbitrary variable setting processing means, variable value determination processing means), 9 and 31 are flanges (hands), and J1 to J4 and J21 to J26 are axes. Show.

Claims (4)

複数の軸を有するロボットの手先に取り付けられるツールの先端を現在位置から目標位置に向けて移動させる際におけるロボットの制御方法であって、
移動後のツールの向きを決定するための各変数のうち、ユーザにより指定される1つまたは2つの変数を任意の値に設定可能な任意変数として設定する任意変数設定処理と、
ツールの先端が前記現在位置から前記目標位置に移動する際に要する移動時間に基づく評価指標を設定し、その評価指標を最適化して前記目標位置における任意変数の値を決定する変数値決定処理と、
を含み、
前記変数値決定処理は、
前記任意変数の値として設定可能な全ての数値範囲を変数値範囲として設定する第1ステップと、
前記変数値範囲内の数値を所定の数だけ抽出する第2ステップと、
前記目標位置における前記任意変数の値として、前記抽出された各数値をそれぞれ設定した場合における前記評価指標を演算する第3ステップと、
前記演算された各評価指標に基づいて、前記評価指標が最小となる前記数値を含むように、前記変数値範囲を所定範囲だけ狭くして再設定する第4ステップと、
を含み、
前記再設定された変数値範囲が所定の要求精度範囲を超える場合、前記第2〜第4ステップを再度実行し、
前記再設定された変数値範囲が前記要求精度範囲以下である場合、前記変数値範囲内の所定の数値を前記目標位置における前記任意変数の値として決定することを特徴とするロボットの制御方法。
A method for controlling a robot when moving the tip of a tool attached to the hand of a robot having a plurality of axes from a current position toward a target position,
Arbitrary variable setting processing for setting one or two variables designated by the user as arbitrary variables that can be set to arbitrary values among the variables for determining the orientation of the tool after movement,
A variable value determination process for setting an evaluation index based on a movement time required when the tip of the tool moves from the current position to the target position, and optimizing the evaluation index to determine a value of an arbitrary variable at the target position; ,
Including
The variable value determination process includes:
A first step of setting all numerical ranges that can be set as values of the arbitrary variable as variable value ranges;
A second step of extracting a predetermined number of numerical values within the variable value range;
A third step of calculating the evaluation index when each of the extracted numerical values is set as the value of the arbitrary variable at the target position;
A fourth step of narrowing and resetting the variable value range by a predetermined range so as to include the numerical value that minimizes the evaluation index, based on the calculated evaluation indices;
Including
When the reset variable value range exceeds a predetermined required accuracy range, the second to fourth steps are executed again,
When the reset variable value range is less than or equal to the required accuracy range, a predetermined numerical value within the variable value range is determined as the value of the arbitrary variable at the target position.
前記変数値決定処理は、
前記第2ステップを最初に実行する際、
前記第2ステップを2回目以降に実行する際に比べて前記抽出する数値の数を多くするとともに、前記変数値範囲内の前記数値を均等に抽出することを特徴とする請求項1に記載のロボットの制御方法。
The variable value determination process includes:
When performing the second step for the first time,
The number of the numerical values to be extracted is increased as compared to when the second step is executed after the second time, and the numerical values within the variable value range are uniformly extracted. Robot control method.
複数の軸を有するロボットの手先に取り付けられるツールの先端を現在位置から目標位置に向けて移動させるロボットの制御装置であって、
移動後のツールの向きを決定するための各変数のうち、ユーザにより指定される1つまたは2つの変数を任意の値に設定可能な任意変数として設定する任意変数設定処理手段と、
ツールの先端が前記現在位置から前記目標位置に移動する際に要する移動時間に基づく評価指標を設定し、その評価指標を最適化して前記目標位置における任意変数の値を決定する変数値決定処理手段と、
を備え、
前記変数値決定処理手段は、
前記任意変数の値として設定可能な全ての数値範囲を変数値範囲として設定し、
前記変数値範囲内の数値を所定の数だけ抽出し、
前記目標位置における前記任意変数の値として、前記抽出された各数値をそれぞれ設定した場合における前記評価指標を演算し、
前記演算された各評価指標に基づいて、前記評価指標が最小となる前記数値を含むように、前記変数値範囲を所定範囲だけ狭くして再設定し、
前記再設定された変数値範囲が所定の要求精度範囲を超える場合、前記変数値範囲を狭くするための各演算を再度実行し、
前記再設定された変数値範囲が前記要求精度範囲以下である場合、前記変数値範囲内の所定の数値を前記目標位置における前記任意変数の値として決定することを特徴とするロボットの制御装置。
A control device for a robot that moves a tip of a tool attached to a hand of a robot having a plurality of axes from a current position toward a target position,
Of the variables for determining the orientation of the tool after movement, one or two variables designated by the user are set as arbitrary variables that can be set to arbitrary values, arbitrary variable setting processing means,
Variable value determination processing means for setting an evaluation index based on a movement time required when the tip of the tool moves from the current position to the target position, and optimizing the evaluation index to determine a value of an arbitrary variable at the target position When,
With
The variable value determination processing means includes:
All numerical ranges that can be set as the value of the arbitrary variable are set as variable value ranges,
Extract a predetermined number of numerical values within the variable value range,
As the value of the arbitrary variable at the target position, the evaluation index when each of the extracted numerical values is set is calculated,
Based on each of the calculated evaluation indexes, the variable value range is narrowed and reset by a predetermined range so as to include the numerical value that minimizes the evaluation index,
When the reset variable value range exceeds a predetermined required accuracy range, each calculation for narrowing the variable value range is executed again,
When the reset variable value range is less than or equal to the required accuracy range, a predetermined numerical value within the variable value range is determined as the value of the arbitrary variable at the target position.
前記変数値決定処理手段は、
前記変数値範囲内の数値を抽出する処理を最初に実行する際、
前記処理を2回目以降に実行する際に比べて前記抽出する数値の数を多くするとともに、前記変数値範囲内の前記数値を均等に抽出することを特徴とする請求項3に記載のロボットの制御装置。
The variable value determination processing means includes:
When first executing a process of extracting a numerical value within the variable value range,
4. The robot according to claim 3, wherein the number of numerical values to be extracted is increased as compared with a case where the process is executed after the second time, and the numerical values within the variable value range are uniformly extracted. Control device.
JP2011060621A 2011-03-18 2011-03-18 Method and device for controlling robot Pending JP2012196717A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011060621A JP2012196717A (en) 2011-03-18 2011-03-18 Method and device for controlling robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011060621A JP2012196717A (en) 2011-03-18 2011-03-18 Method and device for controlling robot

Publications (1)

Publication Number Publication Date
JP2012196717A true JP2012196717A (en) 2012-10-18

Family

ID=47179468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011060621A Pending JP2012196717A (en) 2011-03-18 2011-03-18 Method and device for controlling robot

Country Status (1)

Country Link
JP (1) JP2012196717A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111906766A (en) * 2020-09-15 2020-11-10 珠海格力智能装备有限公司 Workpiece positioning method and device, robot equipment and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187020A (en) * 1992-12-18 1994-07-08 Kobe Steel Ltd Operational locus instructing method for robot
JPH0981227A (en) * 1995-09-11 1997-03-28 Yaskawa Electric Corp Method for preparing operation program of industrial robot
JPH09128024A (en) * 1995-10-27 1997-05-16 Fanuc Ltd Method for optimizing operation program of robot having redundant axis
JP2005352643A (en) * 2004-06-09 2005-12-22 Kawasaki Heavy Ind Ltd Robot operation plan method, robot operation plan device, program and recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187020A (en) * 1992-12-18 1994-07-08 Kobe Steel Ltd Operational locus instructing method for robot
JPH0981227A (en) * 1995-09-11 1997-03-28 Yaskawa Electric Corp Method for preparing operation program of industrial robot
JPH09128024A (en) * 1995-10-27 1997-05-16 Fanuc Ltd Method for optimizing operation program of robot having redundant axis
JP2005352643A (en) * 2004-06-09 2005-12-22 Kawasaki Heavy Ind Ltd Robot operation plan method, robot operation plan device, program and recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111906766A (en) * 2020-09-15 2020-11-10 珠海格力智能装备有限公司 Workpiece positioning method and device, robot equipment and computer readable storage medium
CN111906766B (en) * 2020-09-15 2022-01-07 珠海格力智能装备有限公司 Workpiece positioning method and device, robot equipment and computer readable storage medium

Similar Documents

Publication Publication Date Title
JP6859756B2 (en) Control systems, controllers, control methods, and control programs
KR20130066689A (en) Control device and teaching method for seven-shaft multi-joint robot
JP2015085421A (en) Robot, controller and robot system
JP2010076074A (en) Robot control method
US7957834B2 (en) Method for calculating rotation center point and axis of rotation, method for generating program, method for moving manipulator and positioning device, and robotic system
JP5708091B2 (en) Robot control method and robot control apparatus
JP2018158418A (en) Estimation device for load gravity center position of robot and method for estimating load gravity center position of robot
JP2013144325A (en) Robot apparatus, and failure detection method
US11890759B2 (en) Robot control method
JP5803179B2 (en) Robot control method and robot control apparatus
CN111975764B (en) Robot device and holding method
JP6050565B2 (en) Robot control method and robot control apparatus
JP2012196717A (en) Method and device for controlling robot
JP6697544B2 (en) Optimizer and vertical articulated robot equipped with the same
JP5803178B2 (en) Robot control method and robot control apparatus
JP2020110884A (en) Robot control device, robot control method, and robot control program
US20210114212A1 (en) Robot control method and robot control device
JP2020011317A (en) Gripping posture evaluation device and gripping posture evaluation program
JP5513145B2 (en) Robot posture determination method
JP7384005B2 (en) Control method and robot system
WO2024045091A1 (en) Motion planning method, apparatus and system for actuator, and storage medium
JP6471446B2 (en) Robot operation device, robot system, and robot operation program
CN106564048B (en) A kind of miniature cooperation manipulator
JP6379921B2 (en) Robot operation device, robot system, and robot operation program
CN116330303B (en) SCARA robot motion control method, SCARA robot motion control device, SCARA robot motion control terminal equipment and SCARA robot motion control medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150804

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160209