JP2007203380A - Instruction support device for robot - Google Patents

Instruction support device for robot Download PDF

Info

Publication number
JP2007203380A
JP2007203380A JP2006021445A JP2006021445A JP2007203380A JP 2007203380 A JP2007203380 A JP 2007203380A JP 2006021445 A JP2006021445 A JP 2006021445A JP 2006021445 A JP2006021445 A JP 2006021445A JP 2007203380 A JP2007203380 A JP 2007203380A
Authority
JP
Japan
Prior art keywords
evaluation
solution
point
moving
moving 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.)
Granted
Application number
JP2006021445A
Other languages
Japanese (ja)
Other versions
JP4693643B2 (en
Inventor
Masayuki Kanbe
雅幸 掃部
Toshihiko Miyazaki
利彦 宮崎
Tomohiro Takagi
智宏 高木
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.)
Kawasaki Heavy Industries Ltd
Original Assignee
Kawasaki Heavy Industries Ltd
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 Kawasaki Heavy Industries Ltd filed Critical Kawasaki Heavy Industries Ltd
Priority to JP2006021445A priority Critical patent/JP4693643B2/en
Publication of JP2007203380A publication Critical patent/JP2007203380A/en
Application granted granted Critical
Publication of JP4693643B2 publication Critical patent/JP4693643B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an instruction support device which can arithmetically operate an optimum combination of joint angular positions for each movement point, in a short period of time. <P>SOLUTION: According to the operation of the instruction support device, moving time periods between moving points are all obtained for each combination of solution candidates, and a combination of upstream solution candidates, that takes a shortest moving time period, is extracted, for downstream solution candidates. Then a combination of the solution candidates, that makes shortest the overall moving time period necessary for moving a hand tip from a starting point to an end point, is searched for, based on a result of the extraction. In this manner by searching for the optimum combination of the solution candidates from all possible combinations, the optimum combination of the solution candidates can be positively obtained compared with a search in a gradient method in which the combination can fall into a local solution. Further by searching for the optimum combination of the solution candidates, except for combinations of low evaluation, the optimum combination of the solution candidates can be obtained in a short period of time compared with an all-area searching method in which the combinations with low evaluation are not excluded. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、ロボットを移動させるに必要な情報をロボットに教示する教示作業を支援する教示支援装置に関する。   The present invention relates to a teaching support apparatus that supports teaching work for teaching a robot information necessary for moving the robot.

特許文献1に開示される技術では、冗長自由度ロボットの手先を現在位置および現在姿勢に維持したうえで、冗長自由度ロボットの冗長関節が取り得る可動領域を表示する。作業者は、ロボット装置の表示結果に基づいて、ロボットの教示作業を行うことができる。この場合、冗長関節の可動領域が取り得る可動領域が表示されるだけでは、どの冗長関節の角度位置が最適かどうかについて、作業者が判断しなければならず十分な教示支援を行うことができない。   In the technique disclosed in Japanese Patent Laid-Open No. 2004-260, a movable region that can be taken by redundant joints of a redundant degree-of-freedom robot is displayed while maintaining the hand of the redundant degree-of-freedom robot at the current position and current posture. The worker can perform a robot teaching operation based on the display result of the robot apparatus. In this case, if only the movable area that can be taken by the movable area of the redundant joint is displayed, the operator must determine which angular position of the redundant joint is optimal, and sufficient teaching support cannot be performed. .

特許文献2に開示される技術では、作業者が教示した各関節の角度位置を初期値として、冗長関節の角度位置に関する微調整を繰返す勾配法を用いて、ロボットの移動タイムを短縮化する各関節の角度位置を探索する。具体的には、ユーザが教示した各関節の角度位置を所期値として、冗長関節の角度位置を+δ微調整した条件と、−δ微調整した条件と、微調整しない条件とで、ロボットの移動タイムを計算および比較し、より短時間の条件に対応した冗長関節の角度位置を随時採用する。   In the technique disclosed in Patent Literature 2, each robot that shortens the movement time of the robot by using a gradient method that repeats fine adjustment related to the angular position of the redundant joint using the angular position of each joint taught by the operator as an initial value. Search for the angular position of the joint. Specifically, with the angle position of each joint taught by the user as an initial value, the condition of the redundant joint angle position + δ fine adjustment, the condition −δ fine adjustment, and the condition of fine adjustment of the robot, The travel time is calculated and compared, and the angular position of the redundant joint corresponding to the shorter time condition is adopted as needed.

特許文献3に開示される技術では、特許文献2と同様に勾配法を用いて、ロボットの各関節の角度位置のリミット位置と、ロボットから障害物までの距離とをパラメータとする余裕度が最大となるときの冗長関節の角度位置を最終的な教示データとする。   In the technology disclosed in Patent Document 3, the gradient method is used in the same manner as in Patent Document 2, and the margin with the parameters of the limit position of the angular position of each joint of the robot and the distance from the robot to the obstacle is the maximum. The angular position of the redundant joint at the time is the final teaching data.

また勾配法以外に全域探索法を用いて、ロボットに設定される評価値が最も高くなるようにすることも考えられる。全域探索法を用いた場合、ロボットの各関節の角度位置が取り得る組合せを全て求め、次に全組合せについてそれぞれ評価値を求めて、評価値が最も高くなる各関節の角度位置の組合せを採用する。   In addition to the gradient method, it is conceivable to use the whole area search method so that the evaluation value set for the robot becomes the highest. When using the whole area search method, find all possible combinations of the angular positions of each joint of the robot, then obtain the evaluation values for all the combinations, and adopt the combination of the angular positions of each joint that gives the highest evaluation value To do.

特開平5−337861号公報JP-A-5-337861 特開平9−128024号公報JP-A-9-128024 特開平9−201784号公報JP-A-9-201784

図28は、1つの冗長関節を有するロボットにおいて、ロボットの手先位置を2つの移動点間を移動させるにあたって、開始点でのロボットの各関節の角度位置を初期値に固定し、終了点でのロボットの各関節の角度位置を変化させた場合のロボット移動時間の変化を示すグラフである。図28には、各関節の角度位置の取り得る離散形態符号の正負の組合せによっては、冗長関節の角度位置が1つの値であっても、ロボットは複数の離散形態を取り得え、離散形態を異ならせた2つのグラフを図28(1)、図28(2)にそれぞれ示す。また縦軸にロボットの移動時間を示し、横軸に冗長関節の角度位置を示す。図28に示すように、冗長値の変化に対するロボット移動時間の変化特性は、非線形性となりやすい。特に、各関節の角度位置の可動範囲が制限されている場合には、さらに非線形性が強くなる。   In FIG. 28, in a robot having one redundant joint, when moving the hand position of the robot between two movement points, the angular position of each joint of the robot at the start point is fixed to the initial value, and at the end point, It is a graph which shows the change of the robot movement time at the time of changing the angular position of each joint of a robot. In FIG. 28, depending on the combination of positive and negative discrete form codes that the angular position of each joint can take, even if the angular position of the redundant joint is one value, the robot can take a plurality of discrete forms. Two different graphs are shown in FIGS. 28 (1) and 28 (2), respectively. The vertical axis represents the robot movement time, and the horizontal axis represents the angular position of the redundant joint. As shown in FIG. 28, the change characteristic of the robot movement time with respect to the change of the redundancy value tends to be nonlinear. In particular, when the movable range of the angular position of each joint is limited, the nonlinearity is further increased.

特許文献2および特許文献3に示すように、勾配法を用いてロボットの各関節の角度位置を評価する場合、局所解に陥るおそれがある。勾配法では、初期値r1から冗長関節の角度位置を変化させて、ロボット移動時間が極小値となる局所解r2に到達した時点で探索を終了する。ロボット移動時間の変化特性が非線形となる場合には、初期値r1におけるロボット移動時間に対して、探索後の局所解r2におけるロボット移動時間は、あまり短縮されない。また局所解r2は、ロボット移動時間が最短となる最適解r3とは異なることが多く、最適解r3を探索できない可能性が高い。   As shown in Patent Literature 2 and Patent Literature 3, when the angular position of each joint of the robot is evaluated using the gradient method, there is a possibility of falling into a local solution. In the gradient method, the angular position of the redundant joint is changed from the initial value r1, and the search is terminated when the robot movement time reaches the local solution r2 where the minimum value is reached. When the change characteristic of the robot movement time is non-linear, the robot movement time in the local solution r2 after the search is not significantly reduced with respect to the robot movement time at the initial value r1. Further, the local solution r2 is often different from the optimal solution r3 that minimizes the robot movement time, and there is a high possibility that the optimal solution r3 cannot be searched.

たとえば初期値r1の各関節の角度位置におけるロボット移動時間を図28(1)の丸点で示す。また初期値r1の各関節の角度位置から勾配法を用いた場合における局所解r2の各関節の角度位置におけるロボット移動時間を図28(1)の三角点で示す。また離散形態の異なる場合も含めて、最も移動時間が短くなる最適解r3の各関節の角度位置におけるロボット移動時間を図28(2)の四角点で示す。この場合、初期値r1では、ロボット移動時間は、約1.5である。また局所解r2に到達した状態では、ロボット移動時間は、約1.2秒である。これに対して最適解r3に到達した時点では、ロボット移動時間は、約0.8秒である。上述したように勾配法では、最適解r3を探索できない可能性が高く、ロボット移動時間を充分に短縮することができないことがあり、十分な教示支援を行うことができないという問題がある。   For example, the robot movement time at the angular position of each joint at the initial value r1 is indicated by a circle in FIG. Further, the robot moving time at the angular position of each joint in the local solution r2 when the gradient method is used from the angular position of each joint having the initial value r1 is indicated by a triangular point in FIG. In addition, the robot movement time at the angular position of each joint of the optimal solution r3 that minimizes the movement time is shown by the square points in FIG. In this case, at the initial value r1, the robot movement time is about 1.5. In the state where the local solution r2 is reached, the robot moving time is about 1.2 seconds. On the other hand, when the optimal solution r3 is reached, the robot movement time is about 0.8 seconds. As described above, in the gradient method, there is a high possibility that the optimum solution r3 cannot be searched, and the robot moving time may not be shortened sufficiently, and sufficient teaching support cannot be performed.

また全ての種類の離散形態における各関節における移動時間を全て求めるように総当り的に、冗長関節の角度位置と離散形態とを変化させる場合には、最適解r3を求めることができるが、最適解r3を求めるのに費やす演算時間が膨大となる。特に、手先を複数個の移動点について順に移動させる場合、移動点ごとに複数の冗長関節の角度位置が存在するので、指数関数的に演算量が増大ししまう。   In addition, when the angular position of the redundant joint and the discrete form are changed in a brute force manner so as to obtain all the movement times at each joint in all kinds of discrete forms, the optimal solution r3 can be obtained. The computation time spent to obtain the solution r3 is enormous. In particular, when the hand is moved sequentially with respect to a plurality of moving points, since there are a plurality of redundant joint angular positions for each moving point, the amount of calculation increases exponentially.

たとえばN個の移動点を順に手先が移動し、移動点ごとにm個の各関節の角度位置の組合せが存在する場合、第1移動点から第N移動点まで移動するのに取り得ることが可能な移動点毎の各関節の角度位置の組合せは、m通りの組合せが存在する。したがって、最も評価の高い移動点毎の各関節の角度位置の組合せを求めることが困難となる。特に、移動点の数を増やしたり、冗長関節の角度位置の刻み幅を細かくしたりすると、計算機の演算量が膨大化してしまい、結果として最適解r3を得ることができないという問題がある。また図28には、ロボット移動時間をロボットの形態を評価する評価値としたが、ロボット移動時間以外の他の評価基準でロボットの形態を評価する場合も同様の問題が発生する。 For example, when the hand moves sequentially through N moving points and there is a combination of angular positions of m joints for each moving point, it can be taken to move from the first moving point to the Nth moving point. There are m N combinations of angular positions of each joint for each possible moving point. Therefore, it is difficult to obtain a combination of angular positions of the joints for each moving point having the highest evaluation. In particular, if the number of moving points is increased or the increment of the angular position of the redundant joint is made finer, the amount of calculation of the computer becomes enormous, and as a result, the optimal solution r3 cannot be obtained. In FIG. 28, the robot movement time is an evaluation value for evaluating the robot form. However, the same problem occurs when the robot form is evaluated based on an evaluation criterion other than the robot movement time.

したがって本発明の目的は、最適な移動点毎の各関節の角度位置の組合せを短時間で演算可能であって、作業者によるロボットの教示作業を支援する教示支援装置を提供することである。   Accordingly, an object of the present invention is to provide a teaching support apparatus that can calculate a combination of angular positions of each joint at each optimum movement point in a short time and supports a robot teaching operation by an operator.

本発明は、(a)複数の関節を有する多関節ロボットの予め定める移動対象部位を、複数の移動点を順次通過するように移動させるにあたって、移動点を移動対象部位がそれぞれ通過するときに各関節の角度位置で表される関節形態の、移動点毎の組合せを求めてロボット教示作業を支援する教示支援装置であって、
(b)各移動点を特定するための移動点情報を入力する入力手段と、
(c)ロボットの移動対象部位を移動点に配置可能な関節形態を解候補とし、移動点毎に、全ての解候補をそれぞれ演算する解候補演算手段と、
(d)移動点毎にそれぞれ選択される解候補の組合せを評価する評価演算手段であって、
(d1)通過順が最初の移動点から通過順が最後の移動点に向かう移動方向、および通過順が最後の移動点から通過順が最初の移動点に向かう移動方向と反対の方向のいずれか一方を評価方向とし、
(d2)最上流の移動点における各解候補のうちの1つと、評価方向最上流の移動点の評価方向下流側に隣接する2つめの移動点における各解候補のうちの1つとのそれぞれの組合せについて、予め定める評価基準に従って評価値を求め、2つめの移動点における解候補毎に、評価値が最も高い組合せをそれぞれ抽出して、2つめの移動点における各解候補毎に、2つめの移動点における各解候補のうちの1つと、それに関連して抽出した最上流の移動点における1つの解候補との組合せをそれぞれ決定し、
(d3)2つめの移動点の評価方向下流側に隣接する3つめの移動点から評価方向最下流の移動点まで、評価方向に順次、各移動点における各解候補毎に、注目する移動点における各解候補のうちの1つと、注目する移動点に対して評価方向上流側に隣接する移動点における各解候補のうちの1つとのそれぞれの組合せについて、前記評価基準に従って評価値を求め、それら2つの解候補の組合せの評価値と、評価値を求めた2つの解候補のうちで評価方向上流側の移動点における解候補について既に決定しているさらに評価方向上流側のそれぞれの移動点毎の各解候補に関する評価値の合計値とを合わせた累積評価値を求め、注目する移動点における解候補毎に、累積評価値が最も高い組合せを抽出して、注目する移動点における解候補毎に、注目する移動点における各解候補のうちの1つと、それに関連して抽出した評価方向上流側に隣接する移動点における1つの解候補との組合せを決定し、
(d4)評価方向の最下流の移動点における各解候補のうち、累積評価値が最も高い解候補を抽出し、この解候補に関連して既に決定される移動点毎の各解候補の組合せを、移動点毎の関節形態の組合せとして求める評価演算手段と、
(e)評価演算手段による演算結果を出力する出力手段とを含むことを特徴とするロボットの教示支援装置である。
In the present invention, (a) when moving a predetermined movement target part of an articulated robot having a plurality of joints so as to sequentially pass through a plurality of movement points, each of the movement target parts passes through the movement point. A teaching support device that supports a robot teaching operation by obtaining a combination for each moving point of a joint form represented by an angular position of a joint,
(B) input means for inputting moving point information for specifying each moving point;
(C) a solution candidate calculation means for calculating each solution candidate for each movement point, with a joint form that can place the movement target part of the robot as a movement point as a solution candidate;
(D) Evaluation calculation means for evaluating a combination of solution candidates selected for each moving point,
(D1) One of the moving direction in which the passing order is from the first moving point to the last moving point, and the passing order is the direction opposite to the moving direction from the last moving point to the first moving point. One is the evaluation direction,
(D2) Each of one of the solution candidates at the most upstream moving point and one of each of the solution candidates at the second moving point adjacent to the downstream side in the evaluation direction of the most upstream moving point in the evaluation direction For each combination, an evaluation value is obtained according to a predetermined evaluation criterion, and the combination having the highest evaluation value is extracted for each solution candidate at the second moving point, and the second is determined for each solution candidate at the second moving point. Determining one combination of one of the solution candidates at the moving point and one solution candidate at the most upstream moving point extracted in relation thereto,
(D3) From the third moving point adjacent to the downstream side in the evaluation direction of the second moving point, to the moving point on the most downstream side in the evaluation direction, the moving point of interest for each solution candidate at each moving point sequentially in the evaluation direction For each combination of one of the solution candidates in and the one of each solution candidate at the moving point adjacent upstream in the evaluation direction with respect to the moving point of interest, an evaluation value is obtained according to the evaluation criterion, The evaluation value of the combination of these two solution candidates, and each of the two movement candidates that have already been determined for the solution candidate at the movement point upstream of the evaluation direction among the two solution candidates for which the evaluation value has been obtained For each solution candidate, obtain a cumulative evaluation value that combines the total evaluation value for each solution candidate, extract the combination with the highest cumulative evaluation value for each solution candidate at the moving point of interest, and obtain a solution candidate at the moving point of interest every , One of each solution candidate in a mobile point of interest to determine one combination of solution candidates in a mobile points adjacent to the evaluation direction upstream extracted in connection therewith,
(D4) Out of the solution candidates at the most downstream moving point in the evaluation direction, the solution candidate with the highest cumulative evaluation value is extracted, and the combination of each solution candidate for each moving point already determined in relation to this solution candidate Evaluation calculation means for obtaining a combination of joint forms for each moving point;
(E) A robot teaching support apparatus including output means for outputting a calculation result by the evaluation calculation means.

本発明に従えば、解候補演算手段は、入力手段から入力される移動点情報に基づいて、移動点毎に、移動対象部位を移動点に配置可能な全ての解候補を演算する。評価演算手段は、隣接する2つの移動点において、一方の移動点における各解候補のうちの1つと、他方の移動点における各解候補のうちの1つとで取り得る全ての組合せについて、評価値をそれぞれ求める。   According to the present invention, the solution candidate calculation means calculates all solution candidates that can place the movement target part at the movement point for each movement point, based on the movement point information input from the input means. The evaluation calculation means evaluates evaluation values for all possible combinations of one of the solution candidates at one movement point and one of the solution candidates at the other movement point at two adjacent movement points. For each.

評価演算手段は、評価値を求めた全ての組合せのうちで、評価方向に2つめの移動点における解候補毎に、評価値の最も高い、最上流の移動点における解候補との組合せを抽出する。また評価演算手段は、評価方向に3つめ以降の注目する移動点における解候補毎に、累積評価値の最も高い、注目する移動点よりも上流に隣接する移動点における解候補との組合せを抽出する。このようにして評価方向下流に向かって各評価値を順次求める。この場合、最下流の移動点における各解候補と、最下流の移動点よりも評価方向上流に隣接する移動点における解候補との組合せのうちで、累積評価値が最も高い組合せの2つの解候補と、それら2つの解候補に関連して抽出される移動点毎の解候補の組合せが、手先を始点から終点まで移動させるにあたって全体的な評価が最も高い組合せとなる。   The evaluation calculation means extracts a combination with the solution candidate at the most upstream moving point having the highest evaluation value, for each solution candidate at the second moving point in the evaluation direction, out of all combinations for which the evaluation values are obtained. To do. In addition, the evaluation calculation means extracts, for each solution candidate at the moving point of interest after the third in the evaluation direction, a combination with a solution candidate at a moving point adjacent to the moving point upstream of the moving point of interest having the highest cumulative evaluation value. To do. In this way, each evaluation value is sequentially obtained downstream in the evaluation direction. In this case, of the combinations of the solution candidates at the most downstream moving point and the solution candidates at the moving point adjacent in the evaluation direction upstream of the most downstream moving point, the two solutions having the highest cumulative evaluation value are combined. The combination of the candidate and the solution candidate for each moving point extracted in relation to the two solution candidates is the combination having the highest overall evaluation when moving the hand from the start point to the end point.

このように本発明では、2つの解候補ごとに評価値が高い解候補の組合せをそれぞれ抽出し、抽出した組合せを用いて、全体的な評価が最も高い移動点毎の解候補の組合せを求める。これによって評価値が低い解候補の組合せを除いたうえで、全体的な評価の高い解候補の組合せを探索することができ、全体的な評価が最も高い組合せを短時間でかつ効率よく求めることができる。   As described above, in the present invention, a combination of solution candidates having a high evaluation value is extracted for each of two solution candidates, and a combination of solution candidates for each moving point having the highest overall evaluation is obtained using the extracted combination. . In this way, it is possible to search for a combination of solution candidates with a high overall evaluation after excluding combinations of solution candidates with a low evaluation value, and to find a combination with the highest overall evaluation in a short time and efficiently. Can do.

また本発明は、(a)複数の関節を有する多関節ロボットの予め定める移動対象部位を、複数の移動点を順次通過させて環状の循環移動経路を循環移動させるにあたって、移動点を移動対象部位がそれぞれ通過するときに各関節の角度位置で表される関節形態の、移動点毎の組合せを求めてロボット教示作業を支援する教示支援装置であって、
(b)各移動点を特定するための移動点情報を入力する入力手段と、
(c)移動点のうちで、仮想的に循環移動を開始する最初の移動点と、最初の移動点の移動方向上流側となる最後の移動点とを選択する選択手段と、
(d)ロボットの移動対象部位を移動点に配置可能な関節形態を解候補とし、移動点毎に、全ての解候補をそれぞれ演算する解候補演算手段と、
(e)移動点毎にそれぞれ選択される解候補の組合せを評価する評価演算手段であって、
(e1)通過順が最初の移動点から通過順が最後の移動点に向かう方向、および通過順が最後の移動点から通過順が最初の移動点に向かう方向のいずれか一方を評価方向とし、
(e2)最上流の移動点における各解候補のうちの1つと、評価方向最上流の移動点の評価方向下流側に隣接する2つめの移動点における各解候補のうちの1つとのそれぞれの組合せについて、予め定める評価基準に従って評価値を求め、2つめの移動点における解候補毎に、評価値が最も高い組合せをそれぞれ抽出して、2つめの移動点における各解候補毎に、2つめの移動点における各解候補のうちの1つと、それに関連して抽出した最上流の移動点における1つの解候補との組合せをそれぞれ決定し、
(e3)2つめの移動点の評価方向下流側に隣接する3つめの移動点から評価方向最下流の移動点まで、評価方向に順次、各移動点における各解候補毎に、注目する移動点における各解候補のうちの1つと、注目する移動点に対して評価方向上流側に隣接する移動点における各解候補のうちの1つとのそれぞれの組合せについて、前記評価基準に従って評価値を求め、それら2つの解候補の組合せの評価値と、評価値を求めた2つの解候補のうちで評価方向上流側の移動点における解候補について既に決定しているさらに評価方向上流側のそれぞれの移動点毎の各解候補に関する評価値の合計値とを合わせた累積評価値を求め、注目する移動点における解候補毎に、累積評価値が最も高い組合せを抽出して、注目する移動点における解候補毎に、注目する移動点における各解候補のうちの1つと、それに関連して抽出した評価方向上流側に隣接する移動点における1つの解候補との組合せを決定し、
(e4)評価方向最下流の移動点における解候補ごとに、評価方向最下流の移動点における解候補のうちの1つと、その解候補に関連して決定される評価方向最上流の移動点における1つの解候補との組合せについて、予め定める評価基準に従って評価値を求め、それら2つの解候補の組合せの評価値と、評価値を求めた評価方向最下流の移動点の解候補の累積評価値とを合わせた循環累積評価値を求め、循環累積評価値が最も高い解候補の組合せを抽出し、この組合せの解候補に関連して決定される移動点毎の各解候補の組合せを、移動点毎の関節形態の組合せとして求める評価演算手段と、
(f)評価演算手段による演算結果を出力する出力手段とを含むことを特徴とするロボットの教示支援装置である。
In the present invention, (a) when moving a predetermined movement target part of an articulated robot having a plurality of joints through a plurality of movement points in a circular circulation path, the movement point is moved to the movement target part. A teaching support device for assisting robot teaching work by obtaining a combination for each moving point of the joint form represented by the angular position of each joint when
(B) input means for inputting moving point information for specifying each moving point;
(C) Among the moving points, a selection means for selecting the first moving point that virtually starts the circular movement and the last moving point that is upstream in the moving direction of the first moving point;
(D) solution candidate calculation means for calculating a joint form capable of placing the movement target part of the robot at the movement point as a solution candidate and calculating all solution candidates for each movement point;
(E) Evaluation calculation means for evaluating a combination of solution candidates selected for each moving point,
(E1) The evaluation direction is any one of a direction in which the passing order is from the first moving point to the last moving point and a direction in which the passing order is from the last moving point to the first moving point.
(E2) Each of one of the solution candidates at the most upstream moving point and one of each of the solution candidates at the second moving point adjacent to the downstream side in the evaluation direction of the most upstream moving point in the evaluation direction For each combination, an evaluation value is obtained according to a predetermined evaluation criterion, and the combination having the highest evaluation value is extracted for each solution candidate at the second moving point, and the second is determined for each solution candidate at the second moving point. Determining one combination of one of the solution candidates at the moving point and one solution candidate at the most upstream moving point extracted in relation thereto,
(E3) A moving point of interest for each solution candidate at each moving point sequentially from the third moving point adjacent to the downstream side in the evaluation direction of the second moving point to the moving point downstream in the evaluation direction. For each combination of one of the solution candidates in and the one of each solution candidate at the moving point adjacent upstream in the evaluation direction with respect to the moving point of interest, an evaluation value is obtained according to the evaluation criterion, The evaluation value of the combination of these two solution candidates, and each of the two movement candidates that have already been determined for the solution candidate at the movement point upstream of the evaluation direction among the two solution candidates for which the evaluation value has been obtained For each solution candidate, obtain a cumulative evaluation value that combines the total evaluation value for each solution candidate, extract the combination with the highest cumulative evaluation value for each solution candidate at the moving point of interest, and obtain a solution candidate at the moving point of interest every , One of each solution candidate in a mobile point of interest to determine one combination of solution candidates in a mobile points adjacent to the evaluation direction upstream extracted in connection therewith,
(E4) For each solution candidate at the moving point downstream in the evaluation direction, one of the solution candidates at the moving point downstream in the evaluation direction and the moving point at the upstreammost evaluation direction determined in relation to the solution candidate For a combination with one solution candidate, an evaluation value is obtained according to a predetermined evaluation criterion, the evaluation value of the combination of these two solution candidates, and the cumulative evaluation value of the solution candidate at the most downstream moving point in the evaluation direction for which the evaluation value is obtained , And a solution candidate combination with the highest circulation accumulation evaluation value is extracted, and each solution candidate combination determined for each moving point determined in relation to the solution candidate of this combination is moved. Evaluation calculation means to obtain as a combination of joint form for each point;
(F) A robot teaching support apparatus including output means for outputting a calculation result by the evaluation calculation means.

本発明によれば、循環移動経路において、評価値が低い解候補の組合せを除いたうえで、全体的な評価の高い解候補の組合せを探索することができ、全体的な評価が最も高い組合せを短時間でかつ効率よく求めることができる。また移動を開始するときの移動点の関節形態と、循環移動経路を一周したときの移動点の関節形態とを同じとすることによって、循環移動経路を円滑に移動させることができる。   According to the present invention, it is possible to search for a combination of solution candidates having a high overall evaluation after removing a combination of solution candidates having a low evaluation value in a circular movement route, and to obtain a combination having the highest overall evaluation. Can be obtained in a short time and efficiently. Further, by making the joint form of the movement point when starting the movement the same as the joint form of the movement point when making a round of the circulation movement path, the circulation movement path can be smoothly moved.

また本発明は、前記入力手段は、多関節ロボットの進入が禁止される進入禁止領域に関する禁止領域情報を入力し、
前記解候補演算手段は、ロボットの移動対象部位を移動点に配置可能な関節形態のうちで、ロボットの少なくとも一部が進入禁止領域に進入するような関節形態について、解候補から除外することを特徴とする。
Further, in the present invention, the input means inputs prohibited area information related to an entry prohibited area where an articulated robot is prohibited from entering,
The solution candidate calculation means excludes, from the solution candidates, a joint configuration in which at least a part of the robot enters the entry prohibition area among the joint configurations in which the movement target part of the robot can be arranged at the movement point. Features.

本発明に従えば、全体的な評価が最も高い解候補の組合せでは、移動点を移動対象部位が通過するときに、ロボットが進入禁止領域に進入することが防がれ、実用的な解候補の組合せを求めることができる。またロボットが進入禁止領域に進入するであろう関節形態を解候補から除外することで、評価演算手段で用いられる解候補の数を低減することができ、全ての組合せの評価値を演算するに要する時間と、最も高い解候補の探索に要する時間とを短縮することができる。   According to the present invention, the combination of solution candidates having the highest overall evaluation prevents the robot from entering the entry prohibition area when the movement target part passes through the movement point, and is a practical solution candidate. Can be obtained. Also, by excluding joint forms from which the robot will enter the prohibited entry area from the solution candidates, the number of solution candidates used in the evaluation calculation means can be reduced, and the evaluation values of all combinations can be calculated. The time required and the time required for searching for the highest solution candidate can be reduced.

また本発明は、前記入力手段は、多関節ロボットの進入が禁止される進入禁止領域に関する禁止領域情報を入力し、
前記評価基準は、評価方向に隣接する2つの移動点における各解候補の表わす関節形態を変数とする評価関数に基づいて決定される第1評価基準と、評価方向に隣接する2つの移動点間について移動対象部位を移動させる間にロボットの少なくとも一部が進入禁止領域に進入しないことを基準とする第2評価基準とを含み、
前記評価演算手段は、評価方向に隣接する2つの移動点のうちの評価方向下流側の移動点における解候補に対して、評価方向に隣接する2つの移動点のうちの評価方向上流側の移動点における各解候補毎に第1評価基準に従う第1評価値をそれぞれ求め、それらのうちで、第1評価値が最も高い組合せ順に、第2評価基準を満足するか否かを演算し、第2評価基準を満足し、かつ第1評価値が最も高い組合せを、評価値が最も高い組合せとして抽出することを特徴とする。
Further, in the present invention, the input means inputs prohibited area information related to an entry prohibited area where an articulated robot is prohibited from entering,
The evaluation criterion includes a first evaluation criterion determined based on an evaluation function having a joint form represented by each solution candidate at two moving points adjacent in the evaluation direction as a variable, and between the two moving points adjacent in the evaluation direction. Including a second evaluation criterion based on the fact that at least a part of the robot does not enter the entry prohibition area while moving the movement target part with respect to
The evaluation calculation means moves the upstream of the evaluation direction among the two movement points adjacent to the evaluation direction with respect to the solution candidate at the movement point downstream of the evaluation direction among the two movement points adjacent to the evaluation direction. A first evaluation value according to the first evaluation criterion is obtained for each solution candidate at a point, and among them, the second evaluation criterion is calculated in the order of combination having the highest first evaluation value, The combination that satisfies the two evaluation criteria and that has the highest first evaluation value is extracted as the combination that has the highest evaluation value.

本発明に従えば、全体的な評価が最も高い解候補の組合せでは、2つの移動点の間を移動対象部位が通過する間にわたって、ロボットが進入禁止領域に進入することが防がれ、より実用的な解候補の組合せを求めることができる。   According to the present invention, in the combination of solution candidates having the highest overall evaluation, the robot is prevented from entering the entry prohibition region while the movement target portion passes between the two movement points. Practical solution candidate combinations can be obtained.

また注目する移動点の1つの解候補に対して、注目する移動点の上流側の移動点における解候補毎に第1評価値をそれぞれ求めたあとで、第1評価値が最も高い組合せ順に、第2評価基準を満たすかどうかを演算する。第1評価値が最も高い組合せが第2評価基準を満たす場合には、その時点で、評価値が最も高い組合せが決定されるので、第1評価値が最も高い組合せ以外の組合せについて、第2評価基準を満たすかどうかを演算する必要がない。   In addition, for each solution candidate of the moving point of interest, after obtaining the first evaluation value for each solution candidate at the moving point upstream of the moving point of interest, It is calculated whether or not the second evaluation criterion is satisfied. When the combination having the highest first evaluation value satisfies the second evaluation criterion, the combination having the highest evaluation value is determined at that time. There is no need to calculate whether the evaluation criteria are met.

このように第2評価基準を満たすかどうかについては、第1評価値が最も高い組合せを暫定的に決定した状態で行うので、1つの解候補に対して上流側の移動点における解候補毎に第1評価基準を満たすかどうかをそれぞれ演算する場合に比べて、第2評価基準を満足するか否かを演算する回数を少なくすることができる。第2評価基準を判断するためには、注目する2つの移動点の間について、移動対象部位を移動させる間にわたって、ロボットの一部が進入禁止領域に進入したかどうかを判断しなければならない。したがって第2評価基準を求めるための演算量は、第1評価値を演算する場合に比べて大きくなる。上述したように本発明では、演算量の大きい第2評価基準を判断する回数を少なくすることができるので、全体として演算時間を短縮することができる。   In this way, whether or not the second evaluation criterion is satisfied is performed in a state where the combination having the highest first evaluation value is tentatively determined. Therefore, for each solution candidate at the upstream moving point with respect to one solution candidate. The number of times of calculating whether or not the second evaluation criterion is satisfied can be reduced as compared with the case of calculating whether or not the first evaluation criterion is satisfied. In order to determine the second evaluation criterion, it is necessary to determine whether or not a part of the robot has entered the entry prohibition area while moving the movement target part between the two moving points of interest. Therefore, the amount of calculation for obtaining the second evaluation criterion is larger than that when the first evaluation value is calculated. As described above, in the present invention, the number of times of determining the second evaluation criterion having a large calculation amount can be reduced, so that the calculation time can be reduced as a whole.

また本発明は、前記評価値は、評価方向に隣接する2つの移動点における各関節の角度位置の偏差を変数とする評価関数に基づいて決定されることを特徴とする。   Further, the present invention is characterized in that the evaluation value is determined based on an evaluation function using a deviation of an angular position of each joint at two movement points adjacent in the evaluation direction as a variable.

本発明では、評価値が、隣接する2つの移動点における各関節の角度位置の偏差となるので、評価値が最も高い組合せを採用することで、関節を移動させる角度位置が小さくなりやすく、移動対象部位を移動させるに要するロボットの移動時間を短くすることができる。したがって上述した最適な解候補の組合せを用いることで、移動点の始点から終点まで短時間で移動対象部位を移動させることができる。またたとえば評価関数を適切に設定することで、ロボットの変位量が小さくなり、移動対象部位を移動させるに要するロボットの消費エネルギーを小さくすることができる。   In the present invention, since the evaluation value is a deviation of the angular position of each joint at two adjacent movement points, by adopting the combination having the highest evaluation value, the angular position for moving the joint is likely to be small, and the movement The moving time of the robot required to move the target part can be shortened. Therefore, by using the optimum combination of solution candidates described above, the movement target part can be moved in a short time from the start point to the end point of the movement point. Further, for example, by appropriately setting the evaluation function, the amount of displacement of the robot is reduced, and the energy consumption of the robot required to move the movement target part can be reduced.

また本発明は、前記解候補演算手段によって演算される、ロボットの移動対象部位を移動点に配置可能な全ての関節形態を記憶する記憶手段をさらに含み、
前記評価演算手段は、記憶手段に記憶される関節形態を解候補としてそれぞれ読出して、移動点毎の関節形態の組合せを求めることを特徴とする。
The present invention further includes storage means for storing all joint forms that can be placed at the movement point by the robot movement target part, calculated by the solution candidate calculation means,
The evaluation calculating means reads out the joint forms stored in the storage means as solution candidates, respectively, and obtains a combination of joint forms for each moving point.

本発明に従えば、記憶手段に関節形態を記憶した状態で、入力手段によって進入禁止領域が入力された場合または進入禁止領域が更新された場合など、記憶手段に記憶される関節形態を用いて、解候補を再抽出することができ、進入禁止領域が入力される毎に解候補を演算する場合に比べて、短時間で解候補を求めることができる。   According to the present invention, when the joint form is stored in the storage unit, the joint form stored in the storage unit is used, such as when the entry prohibition area is input by the input unit or the entry prohibition area is updated. The solution candidates can be re-extracted, and the solution candidates can be obtained in a shorter time compared to the case where the solution candidates are calculated every time the entry prohibition area is input.

また本発明は、前記ロボットの教示支援装置の動作をコンピュータに行わせるためのコンピュータ読取り可能なプログラムである。   The present invention is also a computer readable program for causing a computer to perform the operation of the robot teaching support apparatus.

本発明に従えば、プログラムをコンピュータに読取らせることによって、コンピュータを上述したロボットの教示支援装置として動作させることができる。   According to the present invention, by causing a computer to read a program, the computer can be operated as the robot teaching support apparatus described above.

請求項1記載の本発明によれば、演算可能な全ての解候補を対象としたうえで、最適な解候補の組合せを求めることで、局所解に陥る可能性のある勾配法に比べて、最適な解候補の組合せを確実に得ることができる。また2つの解候補の組合せにおける評価値の低い組合せを除いて、最適な解候補の組合せを探索することで、全ての解候補を用いて探索する全域探索法に比べて短時間に最適な解候補の組合せを得ることができる。   According to the present invention as set forth in claim 1, compared to a gradient method that may fall into a local solution by obtaining an optimal combination of solution candidates after targeting all computable solution candidates, An optimal combination of solution candidates can be obtained reliably. In addition, by searching for the optimal combination of solution candidates except for the combination with a low evaluation value in the combination of two solution candidates, the optimal solution can be obtained in a short time compared to the global search method using all solution candidates. Candidate combinations can be obtained.

たとえば移動点がN個存在し、移動点毎に解候補がm個存在する場合、最適な解候補の組合せを求めるには、全ての解候補を用いた全域探索法では、m通りの組合せでの全体的な評価値を全て計算し、それらのうちから全体的な評価の高い解候補の組合せを探索する必要がある。これに対して、本発明では、全体的な評価の高い解候補の組合せを求めるには、m・(N−1)通りの組合せを計算するだけでよく、演算量を極めて少なくすることができる。また移動点の数N、1つの移動点毎の解候補の数mがそれぞれ多い場合でも、全ての解候補を用いた全域探索法に比べて演算量の増加率が小さいので、移動点および解候補の数を増やしやすく、より最適な解を得ることができる。 For example, when there are N moving points and there are m solution candidates for each moving point, in order to find the optimal combination of solution candidates, in the global search method using all solution candidates, m N combinations It is necessary to calculate all of the overall evaluation values in and search for a combination of solution candidates having a high overall evaluation. On the other hand, in the present invention, in order to obtain a combination of solution candidates having a high overall evaluation, it is only necessary to calculate m 2 · (N−1) combinations, and the amount of calculation can be extremely reduced. it can. Even when the number N of moving points and the number m of solution candidates for each moving point are large, the rate of increase in the amount of computation is small compared to the whole area search method using all solution candidates. It is easy to increase the number of candidates and a more optimal solution can be obtained.

請求項2記載の本発明によれば、移動対象部位を循環移動経路に沿って循環移動させる場合に、局所解に陥る可能性のある勾配法に比べて、最適な解候補の組合せを確実に得ることができる。また2つの解候補の組合せにおける評価値の低い組合せを除いて、最適な解候補の組合せを探索することで、全ての解候補を用いて探索する全域探索法に比べて短時間に最適な解候補の組合せを得ることができる。さらに移動を開始するときの移動点の関節形態と、循環移動経路を一周したときの移動点の関節形態とを同じとすることによって、循環移動経路を円滑に移動させることができる。   According to the second aspect of the present invention, when the movement target part is circularly moved along the circulation movement path, the optimum combination of solution candidates is surely compared with the gradient method that may fall into a local solution. Obtainable. In addition, by searching for the optimal combination of solution candidates except for the combination with a low evaluation value in the combination of two solution candidates, the optimal solution can be obtained in a short time compared to the global search method using all solution candidates. Candidate combinations can be obtained. Furthermore, by making the joint form of the movement point when starting the movement the same as the joint form of the movement point when making a round of the circulation movement path, the circulation movement path can be smoothly moved.

請求項3記載の本発明によれば、最適な解候補の組合せでは、移動点を移動対象部位が通過するときに、ロボットが進入禁止領域に進入することが防がれる。したがって実際に適用可能な解候補の組合せのうちで、最適な解候補の組合せを求めることができる。たとえば最適な解候補の組合せに基づいてロボットを動作させた場合に、作業者が最初に想定したロボットの形態と大きく異なっていても、ロボットが進入禁止領域に進入することを防ぐことができ、ロボットと障害物とが衝突することを防ぐことができる。また本発明では、ロボットが進入禁止領域に進入する各関節の角度位置を解候補から除外することで、解候補の数を減らすことができ、さらに演算量を少なくすることができる。   According to the third aspect of the present invention, the optimal combination of solution candidates prevents the robot from entering the entry prohibited area when the movement target part passes through the movement point. Accordingly, among the combinations of solution candidates that can be actually applied, the optimal combination of solution candidates can be obtained. For example, when a robot is operated based on a combination of optimal solution candidates, even if it is greatly different from the robot form initially assumed by the operator, the robot can be prevented from entering the prohibited entry area, It is possible to prevent the robot and the obstacle from colliding with each other. In the present invention, the number of solution candidates can be reduced and the amount of calculation can be further reduced by excluding the angular position of each joint that the robot enters the entry prohibition area from the solution candidates.

請求項4記載の本発明によれば、最適な解候補の組合せでは、2つの移動点の間を移動対象部位が通過する間にわたって、ロボットが進入禁止領域に進入することが防がれる。したがってより実用的となる最適な解候補の組合せを求めることができる。また第1評価値が最も高い組合せが求まった後で、絞り込まれた組合せについて第2評価基準を満たすかどうかを演算することで、計算負荷の大きい第2評価基準を用いて演算する回数を少なくすることができ、演算時間を短縮することができる。   According to the fourth aspect of the present invention, the optimal combination of solution candidates prevents the robot from entering the entry prohibition region while the movement target portion passes between the two movement points. Therefore, an optimal combination of solution candidates that is more practical can be obtained. In addition, after the combination having the highest first evaluation value is obtained, the number of times of calculation using the second evaluation criterion having a large calculation load is reduced by calculating whether the narrowed combination satisfies the second evaluation criterion. The calculation time can be shortened.

請求項5記載の本発明によれば、評価値が最も小さい組合せを採用することで、ロボットの関節を移動させる角度位置が小さくなりやすく、移動対象部位を移動させるに要するロボットの移動時間を短くすることができる。これによって最適な解候補の組合せを用いて、移動対象部位を移動させることで、ロボットを短時間で移動させることができ、ロボットによる作業効率を向上することができる。   According to the fifth aspect of the present invention, by adopting the combination having the smallest evaluation value, the angular position for moving the joint of the robot tends to be small, and the movement time of the robot required to move the movement target part is shortened. can do. As a result, the robot can be moved in a short time by using the optimal combination of solution candidates to move the movement target part, and the working efficiency of the robot can be improved.

請求項6記載の本発明によれば、入力手段によって進入禁止領域が入力された場合または進入禁止領域が更新された場合などに、記憶手段に記憶される関節形態を用いて、解候補を再抽出することができ、進入禁止領域が入力される毎に解候補を演算する場合に比べて、短時間で解候補を求めることができる。   According to the sixth aspect of the present invention, when the entry prohibition area is input by the input means or when the entry prohibition area is updated, the solution candidates are re-used using the joint form stored in the storage means. Compared to the case where the solution candidate is calculated every time the entry prohibition area is input, the solution candidate can be obtained in a short time.

請求項7記載の本発明によれば、プログラムをコンピュータに読取らせることによって、コンピュータを上述したロボットの教示支援装置として動作させることができ、短時間で最適な解候補をコンピュータに求めさせることができる。   According to the seventh aspect of the present invention, by causing a computer to read a program, the computer can be operated as the robot teaching support device described above, and the computer can obtain an optimal solution candidate in a short time. Can do.

図1は、本発明の第1実施形態であるロボットの教示支援装置20を示すブロック図である。本発明の第1実施形態の教示支援装置20は、作業者によるロボット教示作業を支援するための装置である。ロボット教示作業は、多関節ロボットに予め定める動作を行わせるために、作業者がロボットを教示する作業である。   FIG. 1 is a block diagram showing a robot teaching support apparatus 20 according to the first embodiment of the present invention. The teaching support apparatus 20 according to the first embodiment of the present invention is an apparatus for supporting a robot teaching work by an operator. The robot teaching operation is an operation in which an operator teaches the robot in order to cause the articulated robot to perform a predetermined operation.

本実施の形態では、多関節ロボットは、複数の関節を有する7自由度ロボットである。多関節ロボットは、移動対象部位として手先が設定され、各関節のそれぞれの角度位置を変化させることによって、手先を任意の位置および姿勢に移動可能に構成される。以下、各関節のそれぞれの角度位置が決定された場合のロボットの外形的形態を関節形態と称する。また多関節ロボットは、冗長性を有し、手先を予め定める位置および姿勢に移動させた状態で、複数の関節形態を取り得る。言い換えると、多関節ロボットは、手先を予め定める位置および姿勢に移動させることが可能な関節形態が複数通り存在する。   In the present embodiment, the articulated robot is a 7-degree-of-freedom robot having a plurality of joints. The articulated robot is configured such that a hand is set as a movement target part and the hand can be moved to an arbitrary position and posture by changing the angular position of each joint. Hereinafter, the external form of the robot when each angular position of each joint is determined is referred to as a joint form. The articulated robot has redundancy and can take a plurality of joint forms in a state where the hand is moved to a predetermined position and posture. In other words, the articulated robot has a plurality of joint forms that can move the hand to a predetermined position and posture.

多関節ロボットは、始点から終点まで、予め定める移動経路に沿って手先を移動させる。このとき手先は、始点から終点まで移動する間に複数の経由点を通過する。教示支援装置20は、ロボットが手先を複数の移動点を順次通過させて移動させるにあたって、各移動点を手先がそれぞれ通過するときの、移動点毎に設定される関節形態の最適な組合せを出力、具体的には表示する。ここで最適な組合せとは、予め定める評価基準に従う評価値が最も高い関節形態の組合せを意味する。   The articulated robot moves the hand along a predetermined movement path from the start point to the end point. At this time, the hand passes through a plurality of waypoints while moving from the start point to the end point. The teaching support apparatus 20 outputs an optimal combination of joint forms set for each movement point when the hand passes each movement point when the robot moves the hand by sequentially passing a plurality of movement points. Specifically, display. Here, the optimal combination means a combination of joint forms having the highest evaluation value according to a predetermined evaluation criterion.

作業者は、支援教示装置20によって表示される関節形態の組合せを把握することで、移動点毎の最適な関節形態の組合せを手動で探索する手間を省くことができ、ロボット教示作業を容易に行うことができる。このように教示支援装置20は、移動点毎の最適な関節形態の組合せを求めることで、作業者によるロボット教示作業を支援する。   By grasping the combination of joint forms displayed by the support teaching device 20, the operator can save time and labor for manually searching for the optimal combination of joint forms for each moving point, thereby facilitating robot teaching work. It can be carried out. In this way, the teaching support apparatus 20 supports the robot teaching work by the operator by obtaining an optimal combination of joint forms for each moving point.

図1に示すように、教示支援装置20は、演算部21と、記憶部22と、入力部23と、出力部24とを含んで構成されるコンピュータである。演算部21は、データ作成部30と、データ探索部31とを含んで構成される。データ作成部30は、移動点毎に、ロボットの手先を移動点に配置可能な全ての関節形態を、解候補としてそれぞれ求める解候補演算手段となる。1つの解候補は、各関節のそれぞれの角度位置の組合せで表わされる。さらにデータ作成部30は、手先の移動方向に隣接する2つの移動点における一方の移動点の各解候補のうちの1つと、他方の移動点の解候補のうちの1つとに基づいて評価した評価値を演算する。   As shown in FIG. 1, the teaching support apparatus 20 is a computer that includes a calculation unit 21, a storage unit 22, an input unit 23, and an output unit 24. The calculation unit 21 includes a data creation unit 30 and a data search unit 31. The data creation unit 30 is a solution candidate calculation unit that obtains, as solution candidates, all joint forms that can place the robot's hand at the movement point for each movement point. One solution candidate is represented by a combination of the respective angular positions of each joint. Further, the data creation unit 30 performs an evaluation based on one of the solution candidates for one of the two movement points adjacent to the movement direction of the hand and one of the solution candidates for the other movement point. Calculate the evaluation value.

またデータ探索部31は、データ作成部30によって作成された各評価値のうちから、移動点毎の最適な解候補の組合せを探索する。データ作成部30とデータ探索部31とによって、請求の範囲に記載される評価演算手段を構成する。データ探索部31は、最適な解候補の組合せを求め、求めた最適な解候補の組合せを出力部24に与える。このような演算部21は、CPUなどの中央演算回路によって実現される。演算部21は、RAMまたはROMなどの記憶回路に記憶されるプログラムを実行することによって、データ作成部30およびデータ探索部31の動作を行うことができる。このように教示支援プログラムを、コンピュータが読込んで実行することによって、コンピュータは、後述する教示支援動作を行うことができる。   In addition, the data search unit 31 searches for an optimal solution candidate combination for each moving point from the evaluation values generated by the data generation unit 30. The data creation unit 30 and the data search unit 31 constitute an evaluation calculation means described in the claims. The data search unit 31 obtains the optimum combination of solution candidates and gives the obtained optimum solution candidate combination to the output unit 24. Such an arithmetic unit 21 is realized by a central arithmetic circuit such as a CPU. The calculation unit 21 can operate the data creation unit 30 and the data search unit 31 by executing a program stored in a storage circuit such as a RAM or a ROM. As described above, when the computer reads and executes the teaching support program, the computer can perform a teaching support operation described later.

記憶部22は、移動点情報記憶部32と、解候補記憶部33と、評価値記憶部34と、ロボット型式記憶部35とを含んで構成される。移動点情報記憶部32は、移動点情報を記憶する。移動点情報は、移動点毎で、手先が移動すべき位置および姿勢を表わす情報である。ここで、移動点は、手先が移動する点であって、始点と、終点と、始点および終点を結ぶ手先の移動経路上に配置される複数の経由点とを含む。本実施の形態では、移動点情報記憶部32は、予め定める位置姿勢で手先が移動点に位置するときの各関節のそれぞれの角度位置を、移動点情報として記憶する。移動点情報として記憶される各関節のそれぞれの角度位置は、暫定的な各関節の角度位置である。   The storage unit 22 includes a moving point information storage unit 32, a solution candidate storage unit 33, an evaluation value storage unit 34, and a robot type storage unit 35. The movement point information storage unit 32 stores movement point information. The moving point information is information representing the position and posture where the hand should move for each moving point. Here, the moving point is a point at which the hand moves, and includes a start point, an end point, and a plurality of via points arranged on the moving path of the hand connecting the start point and the end point. In the present embodiment, the movement point information storage unit 32 stores, as movement point information, the angular position of each joint when the hand is positioned at the movement point in a predetermined position and orientation. The respective angular positions of the respective joints stored as the movement point information are provisional angular positions of the respective joints.

解候補記憶部33は、解候補を記憶する。解候補は、上述したようにロボットの手先を移動点に配置可能な、各関節のそれぞれの角度位置の組合せで表わされる。したがって1つの解候補には、手先を対応する移動点に配置可能となるような、それぞれの関節毎の角度位置の情報が含まれる。7つの関節Jt1〜Jt7を有する7軸ロボットでは、1つの解候補は、各関節Jt1〜Jt7にそれぞれ対応する7つの角度位置q1〜q7が組合わされた情報が含まれる。   The solution candidate storage unit 33 stores solution candidates. As described above, the solution candidate is represented by a combination of the respective angular positions of the joints where the hand of the robot can be placed at the moving point. Therefore, one solution candidate includes information on the angular position of each joint so that the hand can be placed at the corresponding movement point. In a seven-axis robot having seven joints Jt1 to Jt7, one solution candidate includes information in which seven angular positions q1 to q7 corresponding to the joints Jt1 to Jt7 are combined.

また7軸ロボットは、冗長性を有するので、手先が予め定められる位置と姿勢で1つの移動点に位置する解候補は、1つではなく無数に存在する。解候補記憶部33は、移動点ごとに、移動点に設定される位置姿勢で手先を配置可能な無数の解候補のうちで、演算可能な全ての解候補が記憶される。たとえば移動点がN個存在し、1つの移動点毎にm個の解候補が演算可能な場合には、解候補記憶手段には、N×m個の解候補が記憶される。   In addition, since the 7-axis robot has redundancy, there are an infinite number of solution candidates that are located at one moving point with a predetermined position and posture of the hand. The solution candidate storage unit 33 stores, for each moving point, all the solution candidates that can be calculated among the innumerable solution candidates that can place the hand at the position and orientation set to the moving point. For example, when there are N moving points and m solution candidates can be calculated for each moving point, N × m solution candidates are stored in the solution candidate storage unit.

解候補記憶部33は、演算部21のデータ作成部30によって解候補を示す情報が入力され、入力された解候補と、その解候補と対応する移動点とを関連させて記憶する。また解候補記憶部33は、1つの移動点における各解候補について、それぞれを区別するための番号を付して記憶する。   The solution candidate storage unit 33 receives information indicating a solution candidate from the data creation unit 30 of the calculation unit 21, and stores the input solution candidate and the movement point corresponding to the solution candidate in association with each other. The solution candidate storage unit 33 stores each solution candidate at one moving point with a number for distinguishing each solution candidate.

評価値記憶部34は、評価値を記憶する。評価値は、手先の移動方向に隣接する2つの移動点における一方の移動点の各解候補のうちの1つと、他方の移動点の各解候補のうちの1つとに基づいて、予め定める評価基準に従って評価される値である。本実施の形態では、隣接する2つの移動点における2つの解候補のうちで、関節毎の角度位置を変数とする評価関数に基づいて評価値が決定される。   The evaluation value storage unit 34 stores the evaluation value. The evaluation value is determined in advance based on one of the solution candidates for one of the two movement points adjacent to the movement direction of the hand and one of the solution candidates for the other movement point. A value evaluated according to a standard. In the present embodiment, an evaluation value is determined based on an evaluation function having an angular position for each joint as a variable among two solution candidates at two adjacent movement points.

本実施の形態では、2つの解候補において、関節Jt1〜Jt7毎にそれぞれ対応する角度位置の偏差δ1〜δ7を求める。それら各偏差δ1〜δ7の最大の値となるものに基づいて評価値として決定する。具体的には、評価値は、2つの移動点の間について手先を移動させる間に、各関節Jt1〜Jt7のうちで、角度位置の移動量が最大となる最大移動関節の移動量を表わす。最大移動関節の移動量を小さくすると、手先を一方の移動点から他方の移動点まで、移動するのに必要な移動時間を短くすることができる。したがって評価値は、小さければ小さいほど評価が高い。   In the present embodiment, the angular position deviations δ1 to δ7 corresponding to the joints Jt1 to Jt7 are obtained for the two solution candidates. The evaluation value is determined based on the maximum value of the deviations δ1 to δ7. Specifically, the evaluation value represents the amount of movement of the largest moving joint in which the amount of movement of the angular position becomes the maximum among the joints Jt1 to Jt7 while the hand is moved between the two moving points. When the movement amount of the maximum movement joint is reduced, the movement time required to move the hand from one movement point to the other movement point can be shortened. Therefore, the smaller the evaluation value, the higher the evaluation.

図1に戻って、ロボット型式記憶部35は、ロボットの型式を記憶する。ロボットの型式は、各関節の角度位置が既知な場合に、ロボットに設定される原点に対する手先の位置および姿勢を求めることが可能な情報が記憶される。またロボット型式情報には、各関節の角度位置の取り得ることが可能な可動範囲がそれぞれ含まれる。   Returning to FIG. 1, the robot type storage unit 35 stores the robot type. The robot model stores information that can determine the position and posture of the hand relative to the origin set in the robot when the angular position of each joint is known. The robot type information includes a movable range in which the angular position of each joint can be obtained.

具体的には、ロボットの各関節がそれぞれ同軸関節、傾斜関節および垂直関節のいずれであるかを示す関節構造を示す情報、関節間を連結するリンク体の長さを示すリンク情報がロボット型式記憶部35に記憶される。教示支援装置20が、種類の異なるロボットにおいても対応可能とする場合には、種類の異なるロボット毎に上述したロボットの型式情報が記憶される。たとえば記憶部22は、ハードディスクドライブなどの大容量記憶装置によって実現される。   Specifically, information indicating a joint structure indicating whether each joint of the robot is a coaxial joint, an inclined joint, or a vertical joint, and link information indicating the length of a link body connecting the joints are stored in the robot type memory. Stored in the unit 35. When the teaching support apparatus 20 can cope with different types of robots, the robot type information described above is stored for each different type of robot. For example, the storage unit 22 is realized by a mass storage device such as a hard disk drive.

また入力部23および出力部24は、教示支援装置20と外部と接続するためのインターフェース部となる。本実施の形態では、入力部23は、作業者によって操作されることによって、作業者から情報が与えられ、与えられた情報を演算部21に入力する入力手段となる。出力部24は、演算部21によって演算された演算結果を出力する出力手段となる。本実施の形態では、入力部23は、キーボードおよびポインティングデバイスなどの入力手段によって実現される。また教示支援装置20がロボットコントローラと接続される場合、入力部23は、作業者からロボットの動作指令が入力されるティーチングペンダントによって実現されてもよい。また出力部24は、演算部21の演算結果を画像情報に変換し、変換した画像情報を表示するディスプレイによって実現される。   The input unit 23 and the output unit 24 are interface units for connecting the teaching support apparatus 20 to the outside. In the present embodiment, the input unit 23 serves as an input unit that is operated by the operator to receive information from the worker and inputs the given information to the calculation unit 21. The output unit 24 serves as an output unit that outputs the calculation result calculated by the calculation unit 21. In the present embodiment, the input unit 23 is realized by input means such as a keyboard and a pointing device. When the teaching support apparatus 20 is connected to a robot controller, the input unit 23 may be realized by a teaching pendant that receives an operation command of a robot from an operator. The output unit 24 is realized by a display that converts the calculation result of the calculation unit 21 into image information and displays the converted image information.

図2は、教示支援装置20の動作の全体的な流れを示すフローチャートである。ステップa0では、演算部21にデータ作成プログラムおよびデータ探索プログラムが記憶されるなどして、教示支援可能な状態に移行すると、教示支援動作を開始し、ステップa1に進む。   FIG. 2 is a flowchart showing the overall flow of the operation of the teaching support apparatus 20. In step a0, when a data creation program and a data search program are stored in the arithmetic unit 21 and the state shifts to a state where teaching support is possible, a teaching support operation is started, and the process proceeds to step a1.

ステップa1では、作業者から、入力部23に評価値が最も高い関節形態の組合せを求めるために必要な情報が入力される。入力部23は、作業者から入力された情報を演算部21に入力する。入力部23が、必要な情報を全て演算部21に入力するとステップa2に進む。   In step a1, information necessary for obtaining a combination of joint forms having the highest evaluation value is input to the input unit 23 from the operator. The input unit 23 inputs information input from the operator to the calculation unit 21. When the input unit 23 inputs all necessary information to the calculation unit 21, the process proceeds to step a2.

ステップa2では、演算部21のデータ作成部30が、入力部23から与えられた各情報に基づいて、移動点毎に、手先を移動点に配置可能な解候補を全て演算する。データ作成部30は、各解候補を移動点と関連付けて、解候補記憶部33にデータベース化して記憶する。次に、データ作成部30は、隣接する2つの移動点における解候補について、取り得る全ての組合せで評価値をそれぞれ求める。データ作成部30は、2つの解候補の全ての組合せの評価値をそれぞれ求めると、評価値と、評価値を求めた2つの解候補と、2つの解候補における各移動点とを関連付けて、評価値記憶部34にデータベース化して記憶し、ステップa3に進む。   In step a <b> 2, the data creation unit 30 of the calculation unit 21 calculates all solution candidates for which the hand can be placed at the movement point for each movement point based on each information given from the input unit 23. The data creation unit 30 associates each solution candidate with a moving point and stores it in the solution candidate storage unit 33 as a database. Next, the data creation unit 30 obtains evaluation values for all possible combinations of solution candidates at two adjacent moving points. When the data creation unit 30 obtains the evaluation values of all combinations of the two solution candidates, the data creation unit 30 associates the evaluation value, the two solution candidates for which the evaluation value is obtained, and the moving points in the two solution candidates, A database is stored in the evaluation value storage unit 34, and the process proceeds to step a3.

ステップa3では、演算部21のデータ探索部31が、ステップa2で求めた全ての組合せの評価値のうちから、移動点毎の最適な解候補の組合せを探索する。探索が完了すると、探索結果を示す信号を出力部24に入力し、ステップa4に進む。ステップa4では、出力部24が、演算部21のデータ探索部31から与えられた最適な解候補の組合せに基づいて、移動点毎に、ロボットの関節形態を示す画像を表示させ、ステップa5に進み、教示支援動作を終了する。   In step a3, the data search unit 31 of the calculation unit 21 searches for an optimal combination of solution candidates for each moving point from the evaluation values of all the combinations obtained in step a2. When the search is completed, a signal indicating the search result is input to the output unit 24, and the process proceeds to step a4. In step a4, the output unit 24 displays an image indicating the joint form of the robot for each moving point based on the optimal combination of solution candidates given from the data search unit 31 of the calculation unit 21, and in step a5 Proceed to end the teaching support operation.

図3は、図2に示すステップa1における入力部23の動作手順を示すフローチャートである。入力部23は、ステップb0で作業者によって操作されると、ステップb1に進み、入力受付け動作を開始する。   FIG. 3 is a flowchart showing an operation procedure of the input unit 23 in step a1 shown in FIG. When the input unit 23 is operated by the worker in step b0, the process proceeds to step b1 and starts an input receiving operation.

ステップb1では、入力部23は、ロボットの型式の指示指令の入力を受付ける。作業者によってロボットの型式が選択入力されると、作業者が選択したロボットの型式を演算部21に入力し、ステップb2に進む。   In step b1, the input unit 23 receives an input of a robot type instruction command. When the robot model is selected and input by the worker, the robot model selected by the worker is input to the calculation unit 21 and the process proceeds to step b2.

ステップb2では、入力部23は、移動点情報の入力を受付ける。本実施の形態では、移動点情報は、手先を移動点に配置させた場合のロボットの各関節の角度位置となる。作業者によって、移動点毎の、ロボットの各関節の角度位置の情報がそれぞれ入力されると、作業者が入力した情報を演算部21に入力し、ステップb3に進む。   In step b2, the input unit 23 receives input of moving point information. In the present embodiment, the movement point information is the angular position of each joint of the robot when the hand is placed at the movement point. When the worker inputs information on the angular position of each joint of the robot for each moving point, the information input by the worker is input to the calculation unit 21 and the process proceeds to step b3.

ステップb3では、入力部23は、ロボットのうちの1つの関節である冗長関節の角度位置の刻み幅の入力を受付ける。入力部23は、作業者によって入力された刻み幅の情報を演算部21に入力し、ステップb4に進む。ステップb4では、入力部23は、入力受付け動作を終了する。ここで、ステップb1〜b3の受付け順は、これに限定されず、他の順番で作業者から入力される情報を、演算部21に入力してもよい。   In step b3, the input unit 23 receives an input of the step size of the angular position of the redundant joint which is one joint of the robot. The input unit 23 inputs the step size information input by the operator to the calculation unit 21, and proceeds to step b4. In step b4, the input unit 23 ends the input receiving operation. Here, the receiving order of steps b1 to b3 is not limited to this, and information input from the worker in another order may be input to the calculation unit 21.

また移動点情報は、移動点毎の手先の位置および姿勢が直接入力されてもよい。また移動点情報は、複数の移動点のうちの一部の移動点に関する情報が入力されてもよい。この場合、残余の移動点に関する情報は、入力された一部の移動点の情報に基づいて、演算部21が残余の移動点に関する情報を補間演算することによって求めることができる。また教示支援するロボットが一種類であるならば、ロボットの型式を入力する必要がない。   Further, as the moving point information, the position and posture of the hand for each moving point may be directly input. Further, as the moving point information, information on some moving points among a plurality of moving points may be input. In this case, the information regarding the remaining moving points can be obtained by the calculation unit 21 performing interpolation calculation on the information regarding the remaining moving points based on the input information about some of the moving points. If there is only one type of robot that supports teaching, there is no need to input the robot model.

図4は、図2に示すステップa2におけるデータ作成部30の動作手順を示すフローチャートである。データ作成部30は、ステップc0で入力部23から評価値を求めるための各情報が入力されると、ステップc1に進み、データ作成動作を開始する。   FIG. 4 is a flowchart showing an operation procedure of the data creation unit 30 in step a2 shown in FIG. When each piece of information for obtaining an evaluation value is input from the input unit 23 in step c0, the data generation unit 30 proceeds to step c1 and starts a data generation operation.

ステップc1では、データ作成部30は、入力されたロボットの型式に対応するロボットの各関節および各リンクの情報を、ロボット型式記憶部32から取得する。またデータ作成部30は、入力されたロボットの各関節の角度位置の情報と、ロボットの各関節および各リンクの情報とに基づいて、ロボットの順運動学問題を解くことによって、移動点における手先の位置および姿勢を求める。このようにしてデータ作成部30は、移動点毎に入力されるロボットの各関節の角度位置から、手先の位置姿勢を求める順変換演算を行うことによって、移動点毎の手先の位置姿勢を全て求めることができる。データ作成部30は、求めた各移動点における手先の位置姿勢を記憶部22にそれぞれ記憶し、ステップc2に進む。   In step c <b> 1, the data creation unit 30 acquires information about each joint and each link of the robot corresponding to the input robot model from the robot model storage unit 32. Further, the data creation unit 30 solves the robot's forward kinematics problem based on the input information on the angular position of each joint of the robot and the information on each joint and each link of the robot, thereby moving the hand at the moving point. Find the position and posture of In this way, the data creation unit 30 performs the forward conversion calculation to obtain the position and orientation of the hand from the angular position of each joint of the robot that is input for each movement point, so that all the position and orientation of the hand for each movement point are obtained. Can be sought. The data creation unit 30 stores the obtained position and orientation of the hand at each movement point in the storage unit 22, and proceeds to step c2.

ステップc2では、データ作成部30は、移動点毎に、ステップc2で求めた手先の位置および姿勢となるような解候補を全て求める。解候補は、冗長関節の角度位置を予め定める範囲で微小移動させて、微小移動ごとに、手先が移動点に設定される位置姿勢となるように、残余の各関節の角度位置について、ロボットの逆運動学問題を解く。これによって、手先が移動点に設定される位置姿勢となるような、冗長関節の角度位置と、残余の各関節のそれぞれの角度位置との組合せで構成される1つの解候補を求めることができる。   In step c2, the data creation unit 30 obtains all solution candidates that have the hand position and orientation obtained in step c2 for each moving point. The solution candidates are obtained by moving the angular positions of the redundant joints within a predetermined range, and for each angular movement, the robot position is set to the position and orientation at which the hand is set as the movement point. Solve inverse kinematics problems. Thereby, one solution candidate composed of a combination of the angular position of the redundant joint and the angular position of each of the remaining joints such that the hand becomes the position and orientation set as the moving point can be obtained. .

このように手先の位置姿勢と冗長関節の角度位置とから、ロボットの各関節の角度位置を求める逆変換演算を行うことによって、冗長関節の角度位置を微小移動する毎に1つの解候補を求めることができる。ここで、データ作成部30は、上述したステップb2で与えられる情報に基づいて、冗長関節の角度位置を微小移動する刻み幅を決定する。刻み幅が小さくなればなるほど、1つの移動点が取り得ることが可能な解候補の数が増加する。   In this way, one solution candidate is obtained every time the angular position of the redundant joint is moved minutely by performing an inverse conversion operation for obtaining the angular position of each joint of the robot from the position and orientation of the hand and the angular position of the redundant joint. be able to. Here, the data creation unit 30 determines a step size for minutely moving the angular position of the redundant joint based on the information given in step b2 described above. The smaller the step size, the greater the number of solution candidates that one moving point can take.

このようにして移動点毎に、予め定める範囲のなかで、冗長関節の角度位置を刻み幅ごとに移動させて、複数の解候補を求めることによって、移動点毎の解候補を求めることができる。データ作成部30は、移動点毎にそれぞれ、全ての解候補を求めると、移動点に対応させて各解候補を区別する番号を関連付けて、各解候補を記憶部22にそれぞれ記憶し、ステップc3に進む。   In this way, the solution candidate for each moving point can be obtained by moving the angular position of the redundant joint for each increment within the predetermined range and obtaining a plurality of solution candidates. . When the data creation unit 30 obtains all the solution candidates for each moving point, the data creating unit 30 associates each solution candidate with a number that distinguishes each solution candidate in association with the moving point, and stores each solution candidate in the storage unit 22. Proceed to c3.

ステップc3では、データ作成部30は、手先を移動する移動方向に関して、移動方向に隣接する2つの移動点における一方の移動点の各解候補のうちの1つと、他方の移動点の解候補のうちの1つとに基づいて評価した評価値を演算する。データ作成部30は、2つの移動点間における解候補の全ての組合せについて評価値を求める。データ作成部30は、求めた評価値と、評価値を求めた移動点間と、解候補の組合せとを関連させて、各評価値を区別する番号を関連付けて、各評価値を記憶部22にそれぞれ記憶し、ステップc4に進む。ステップc4では、データ作成部30は、データ作成動作を終了する。   In step c3, with respect to the movement direction in which the hand is moved, the data creation unit 30 selects one of the solution candidates for one movement point at two movement points adjacent to the movement direction and the solution candidate for the other movement point. The evaluation value evaluated based on one of them is calculated. The data creation unit 30 obtains evaluation values for all combinations of solution candidates between two moving points. The data creation unit 30 associates the obtained evaluation value, the moving point from which the evaluation value was obtained, and the combination of solution candidates, associates a number for distinguishing each evaluation value, and stores each evaluation value in the storage unit 22. And proceed to step c4. In step c4, the data creation unit 30 ends the data creation operation.

図5は、ステップc2において、データ作成部30が全ての解候補を求める手順を示すフローチャートである。ステップd0で、全ての移動点における手先の位置姿勢を求めると、ステップd1に進み、解候補作成動作を行う。   FIG. 5 is a flowchart illustrating a procedure in which the data creation unit 30 obtains all solution candidates in step c2. When the position and orientation of the hand at all the moving points are obtained in step d0, the process proceeds to step d1 and a solution candidate creation operation is performed.

ステップd1では、データ作成部30は、ステップc1で求めた各移動点のうちから1つの移動点を選択し、ステップd2に進む。ステップd2では、1つの冗長関節の角度位置に対応して、1つの解候補を求めるために、離散形態を選択する。解候補は、冗長関節の角度位置が1つの値であっても、各関節の角度位置の正負を示す離散形態符号の組合せを異ならせることで、複数の解候補が求まる場合がある。データ作成部30は、1つの解候補を求めることを目的として、離散形態符号の組合せのうちから1つを選択して、ステップd3に進む。   In step d1, the data creation unit 30 selects one movement point from the movement points obtained in step c1, and proceeds to step d2. In step d2, in order to obtain one solution candidate corresponding to the angular position of one redundant joint, a discrete form is selected. Even when the angular position of the redundant joint is one value, a plurality of candidate solutions may be obtained by changing the combination of discrete form codes indicating the positive and negative of the angular position of each joint. For the purpose of obtaining one solution candidate, the data creation unit 30 selects one of the combinations of discrete form codes, and proceeds to step d3.

ステップd3では、冗長関節の関節位置の角度範囲における開始位置から終了位置までで、作業者から入力される刻み幅ごとに抽出した複数の関節位置のうちの1つを選択し、ステップd4に進む。ステップd4では、上述するステップd1〜d3で得られた、移動点における手先の位置姿勢と、離散形態と、冗長関節の関節位置と、ロボットの関節およびリンク体の情報とに基づいて、逆変換を行って演算解を求め、ステップd5に進む。本実施の形態では、逆変換を行って解が求まらない場合も、ステップd5に進む。   In step d3, one of a plurality of joint positions extracted from the start position to the end position in the angular range of the joint position of the redundant joint is extracted for each step size input by the operator, and the process proceeds to step d4. . In step d4, the inverse transformation is performed based on the position and orientation of the hand at the moving point, the discrete form, the joint position of the redundant joint, and the information on the joint and link body of the robot obtained in steps d1 to d3 described above. To obtain an arithmetic solution and proceed to step d5. In the present embodiment, the process proceeds to step d5 even when the inverse transformation is performed and the solution cannot be obtained.

ステップd5では、逆変換を行って求めた演算解が、ロボットによって実現可能な機構的解として存在するか否かを判断する。具体的には、ステップd4で求めた演算解が、ロボットにおける特異点を超えていると判断すると、演算解が機構的解でないと判断し、ステップd11に進む。ステップd11では、現時点で選択される離散形態において、以前に選択された冗長関節の角度位置と異なる角度位置を選択し、ステップd4に戻る。   In step d5, it is determined whether the arithmetic solution obtained by performing the inverse transformation exists as a mechanical solution that can be realized by the robot. Specifically, if it is determined that the calculation solution obtained in step d4 exceeds a singular point in the robot, it is determined that the calculation solution is not a mechanical solution, and the process proceeds to step d11. In step d11, in the discrete form selected at the present time, an angular position different from the angular position of the redundant joint previously selected is selected, and the process returns to step d4.

ステップd5において、逆変換を行って求めた演算解が、機構的解であると判断すると、ステップd6に進む。ステップd6では、機構的解として判断された演算解を解候補とし、他の解候補と区別するための番号を付して、対応する移動点の情報とともに解候補を記憶部22に記憶し、ステップd7に進む。   If it is determined in step d5 that the arithmetic solution obtained by performing the inverse transformation is a mechanical solution, the process proceeds to step d6. In step d6, the arithmetic solution determined as the mechanistic solution is used as a solution candidate, a number for distinguishing it from other solution candidates is attached, and the solution candidate is stored in the storage unit 22 together with the corresponding moving point information. Proceed to step d7.

ステップd7では、現時点で選択される離散形態において、冗長関節の関節位置の角度範囲における開始位置から終了位置までで、刻み幅毎に抽出した複数の関節位置の全てを、それぞれ選択し終えたかどうかを判断し、まだ選択していない関節位置が存在する場合には、ステップd11に進む。ステップd11では、現時点で選択される離散形態において、以前に選択された冗長関節の角度位置とは異なる角度位置を選択し、ステップd4に戻る。   In step d7, whether or not all of the plurality of joint positions extracted for each step size have been selected from the start position to the end position in the angular range of the joint position of the redundant joint in the discrete form selected at present. If there is a joint position that has not yet been selected, the process proceeds to step d11. In step d11, an angular position different from the angular position of the redundant joint previously selected in the discrete form selected at the present time is selected, and the process returns to step d4.

ステップd7において、現時点で選択される離散形態において、刻み幅毎に抽出した複数の関節位置の全てを選択し終えたと判断すると、ステップd8に進む。ステップd8では、現時点で選択される移動点において、手先の位置姿勢を固定した場合に、取り得る全ての離散形態符号の組合せの全てを、選択し終えたかどうかを判断し、まだ選択していない離散形態符号の組合せが存在すると判断した場合には、ステップd12に進む。ステップd12では、現時点で選択される移動点において、既に選択された離散形態とは異なる離散形態を選択して、ステップd3に戻る。   If it is determined in step d7 that all of the plurality of joint positions extracted for each step size have been selected in the discrete form selected at the present time, the process proceeds to step d8. In step d8, when the position and orientation of the hand are fixed at the moving point selected at the present time, it is determined whether or not all possible combinations of discrete form codes have been selected, and have not yet been selected. If it is determined that there is a combination of discrete form codes, the process proceeds to step d12. In step d12, a discrete form different from the already selected discrete form is selected at the currently selected moving point, and the process returns to step d3.

ステップd8において、現時点で選択される移動点において、ロボットが取り得ることが可能な離散形態符号の組合せの全てをそれぞれ選択し終えたと判断すると、ステップd9に進む。ステップd9では、移動点の全てを、それぞれ選択し終えたかどうかを判断し、まだ選択していない移動点が存在すると判断した場合には、ステップd13に進む。ステップd13では、既に選択された移動点とは異なる移動点を選択し、ステップd2に戻る。ステップd9において、全ての移動点について、選択し終えたと判断すると、ステップd10に進み、解候補作成動作を終了する。このようにして移動点毎、離散形態毎、冗長関節の角度毎に、解候補を求める。   If it is determined in step d8 that all of the combinations of discrete form codes that can be taken by the robot at the currently selected moving point have been selected, the process proceeds to step d9. In step d9, it is determined whether or not all the moving points have been selected. If it is determined that there are moving points that have not been selected, the process proceeds to step d13. In step d13, a moving point different from the already selected moving point is selected, and the process returns to step d2. If it is determined in step d9 that all the moving points have been selected, the process proceeds to step d10, where the solution candidate creation operation is terminated. In this manner, solution candidates are obtained for each moving point, each discrete form, and each redundant joint angle.

図6は、ステップc3において、データ作成部30が評価値を演算する手順を示すフローチャートである。また図7は、データ作成部30によって求められるそれぞれの評価値を説明するための図である。図7には、4つの移動点p1〜p4と、移動点毎にそれぞれ4つの解候補c(i)_1〜c(i)_4とがそれぞれ存在している場合を示す。また矢印付き線の先端部に図示される数値は、矢印付き線で結ばれる2つの解候補の組合せにおける評価値をそれぞれ示す。   FIG. 6 is a flowchart illustrating a procedure in which the data creation unit 30 calculates an evaluation value in step c3. FIG. 7 is a diagram for explaining each evaluation value obtained by the data creation unit 30. FIG. 7 shows a case where there are four moving points p1 to p4 and four solution candidates c (i) _1 to c (i) _4 for each moving point. The numerical value shown at the tip of the line with the arrow indicates the evaluation value in the combination of two solution candidates connected by the line with the arrow.

図6に示すように、ステップe0で、全ての解候補を求めると、ステップe1に進み、評価演算動作を行う。ステップe1では、手先を移動させる移動方向最上流の移動点p1と、最上流の移動点の移動方向下流側に隣接する2つめの移動点p2とを選択し、ステップe2に進む。ステップe2では、直前に選択した2つの移動点p(i),p(i+1)のうち下流側の移動点p(i+1)における各解候補c(i+1)のうちで、1番目の番号が関連付けられる解候補c(i+1)_1を選択し、ステップe3に進む。ステップe3では、直前に選択した2つの移動点p(i),p(i+1)のうち上流側の移動点p(i)における各解候補c(i)のうちで、1番目の番号が関連付けられる解候補c(i)_1を選択し、ステップe4に進む。   As shown in FIG. 6, when all the solution candidates are obtained in step e0, the process proceeds to step e1 and an evaluation calculation operation is performed. In step e1, the most upstream moving point p1 in the moving direction in which the hand is moved and the second moving point p2 adjacent to the downstream side in the moving direction of the most upstream moving point are selected, and the process proceeds to step e2. In step e2, the first number is associated with each solution candidate c (i + 1) at the downstream moving point p (i + 1) among the two moving points p (i) and p (i + 1) selected immediately before. The solution candidate c (i + 1) _1 to be selected is selected, and the process proceeds to step e3. In step e3, the first number is associated among the solution candidates c (i) at the upstream moving point p (i) of the two moving points p (i) and p (i + 1) selected immediately before. The solution candidate c (i) _1 to be selected is selected, and the process proceeds to step e4.

ステップe4では、予め定める評価基準に従って、直前に選択した、2つの解候補c(i)_j,c(i+1)_kを評価する。本実施の形態では、移動方向上流側の解候補c(i)_jが示す関節形態から、移動方向下流側の解候補c(i+1)_kが示す関節形態まで手先を移動するまでの移動時間t(i+1)_k_jを評価値として演算する。評価基準に従った移動時間t(i+1)_k_jは、2つの解候補c(i)_j,c(i+1)_kの関節形態のうちで、それぞれ対応する関節の角度位置の偏差が最も大きい値(δmax=max|δ1,δ2,…δ6,δ7|)を予め定める各関節の移動速度vで除算した値(=δmax/v)で表わされる。この移動速度vは、各関節の移動速度が一定であり、加減速時間がゼロであって、サーボ遅れがないと仮定した移動速度である。たとえば移動速度vは、100[deg/秒]に設定される。このように移動時間に関する値を評価値として採用した場合、評価値の値が小さければ小さいほど評価が高い。   In step e4, two solution candidates c (i) _j and c (i + 1) _k selected immediately before are evaluated according to a predetermined evaluation criterion. In the present embodiment, the movement time t until the hand moves from the joint form indicated by the solution candidate c (i) _j upstream in the movement direction to the joint form indicated by the solution candidate c (i + 1) _k downstream in the movement direction. (I + 1) _k_j is calculated as an evaluation value. The movement time t (i + 1) _k_j according to the evaluation criterion is the value with the largest deviation of the angular position of the corresponding joint among the joint forms of the two solution candidates c (i) _j and c (i + 1) _k ( (δmax = max | δ1, δ2,..., δ6, δ7 |) divided by a predetermined moving speed v of each joint (= δmax / v). The moving speed v is a moving speed that assumes that the moving speed of each joint is constant, the acceleration / deceleration time is zero, and there is no servo delay. For example, the moving speed v is set to 100 [deg / sec]. As described above, when the value related to the travel time is adopted as the evaluation value, the smaller the evaluation value, the higher the evaluation.

たとえば図7では、第1移動点p1と第2移動点p2との組合せ(p1→p2)のうちで、第2移動点p2における第1解候補c2_1に対して、第1移動点p1における第1解候補c1_1との移動時間t2_1_1は3秒であり、第2解候補c1_2との移動時間t2_1_2は7秒である。このようにしてデータ作成部30は、2つの移動点p(i),p(i+1)の間を移動するのに必要な移動時間t(i+1)_k_jを求め、ステップe5に進む。   For example, in FIG. 7, among the combinations (p1 → p2) of the first movement point p1 and the second movement point p2, the first solution candidate c2_1 at the second movement point p2 is compared with the first movement point p1. The moving time t2_1_1 with the one solution candidate c1_1 is 3 seconds, and the moving time t2_1_2 with the second solution candidate c1_2 is 7 seconds. In this way, the data creation unit 30 obtains the movement time t (i + 1) _k_j necessary for moving between the two movement points p (i) and p (i + 1), and proceeds to step e5.

ステップe5では、ステップe4で求めた評価値t(i+1)_k_jと、2つの移動点p(i),p(i+1)と、2つの解候補c(i)_j,c(i+1)_kとを関連付けて記憶し、ステップe6に進む。ステップe6では、現時点で選択される2つの移動点において、上流側の移動点p(i)における各解候補c(i)のうちから、まだ選択していない解候補が存在するか否かを判断する。まだ選択していない解候補が存在すると判断すると、ステップe10に進む。   In step e5, the evaluation value t (i + 1) _k_j obtained in step e4, two movement points p (i) and p (i + 1), and two solution candidates c (i) _j and c (i + 1) _k are obtained. The association is stored, and the process proceeds to step e6. In step e6, whether or not there is a solution candidate that has not yet been selected among the solution candidates c (i) at the upstream movement point p (i) at the two movement points selected at the present time. to decide. If it is determined that there is a solution candidate that has not yet been selected, the process proceeds to step e10.

ステップe10では、現時点で選択される2つの移動点において、上流側の移動点p(i)における各解候補c(i)のうちから、まだ選択していない解候補を選択し、ステップe4に戻る。具体的には、直前に選択された、上流側の移動点p(i)における解候補c(i)_jの、次の番号が関連付けられる解候補c(i)_j+1を選択する。   In step e10, at the two movement points selected at the present time, a solution candidate that has not yet been selected is selected from among the solution candidates c (i) at the upstream movement point p (i). Return. Specifically, the solution candidate c (i) _j + 1 associated with the next number of the solution candidate c (i) _j at the upstream moving point p (i) selected immediately before is selected.

ステップe6において、現時点で選択される2つの移動点において、上流側の移動点p(i)における各解候補c(i)_jのうちで、全ての解候補をすでに選択したとすると、ステップe7に進む。ステップe7では、現時点で選択される2つの移動点において、下流側の移動点p(i+1)における各解候補c(i+1)のうちから、まだ選択していない解候補が存在するか否かを判断する。まだ選択していない解候補が存在すると判断すると、ステップe11に進む。   In step e6, assuming that all solution candidates among the solution candidates c (i) _j at the upstream movement point p (i) have already been selected at the two movement points selected at the present time, step e7 Proceed to In step e7, it is determined whether or not there are solution candidates that have not yet been selected from among the solution candidates c (i + 1) at the downstream movement point p (i + 1) at the two movement points selected at the present time. to decide. If it is determined that there is a solution candidate that has not yet been selected, the process proceeds to step e11.

ステップe11では、現時点で選択される2つの移動点において、下流側の移動点p(i+1)における各解候補c(i+1)のうちから、まだ選択していない解候補を選択し、ステップe3に進む。具体的には、直前に選択された、下流側の移動点p(i+1)における解候補c(i+1)_kの、次の番号が関連付けられる解候補c(i+1)_k+1を選択する。   In step e11, solution candidates that have not been selected are selected from the solution candidates c (i + 1) at the downstream moving point p (i + 1) at the two moving points selected at the present time. move on. Specifically, the solution candidate c (i + 1) _k + 1 associated with the next number of the solution candidate c (i + 1) _k at the downstream moving point p (i + 1) selected immediately before is selected.

ステップe7において、現時点で選択される2つの移動点において、下流側の移動点p(i+1)における各解候補c(i+1)のうちで、全ての解候補をすでに選択したとすると、ステップe8に進む。ステップe8では、移動方向に隣接する2つの移動点p(i),p(i+1)の組合せを全て選択したか否かを判断し、まだ選択していない2つの移動点の組合せが存在すると判断すると、ステップe12に進む。ステップe12では、直前に選択した2つの移動点p(i),p(i+1)のうちの移動方向下流側の移動点p(i+1)と、その移動点よりもさらに移動方向下流側の移動点p(i+2)との2つの移動点の組合せを選択し、ステップe2に戻る。   In step e7, assuming that all solution candidates among the solution candidates c (i + 1) at the downstream movement point p (i + 1) have already been selected at the two movement points selected at the present time, the process goes to step e8. move on. In step e8, it is determined whether or not all combinations of two movement points p (i) and p (i + 1) adjacent in the movement direction have been selected, and it is determined that there is a combination of two movement points that have not yet been selected. Then, it progresses to step e12. In step e12, the movement point p (i + 1) on the downstream side in the movement direction among the two movement points p (i) and p (i + 1) selected immediately before, and the movement point on the further downstream side in the movement direction than that movement point. A combination of two moving points with p (i + 2) is selected, and the process returns to step e2.

ステップe8において、移動方向に隣接する2つの移動点p(i),p(i+1)の組合せを全て選択したとすると、ステップe9に進み、評価値演算動作を終了する。このようにして移動方向に隣接する2つの移動点の組合せ毎、上流側の解候補毎、下流側の解候補毎に、評価値を求める。またデータ作成部30は、上述した図6に示す手順と異なる手順で、全ての評価値をそれぞれ求めてもよい。   If it is assumed in step e8 that all combinations of two movement points p (i) and p (i + 1) adjacent in the movement direction have been selected, the process proceeds to step e9 and the evaluation value calculation operation is terminated. In this way, evaluation values are obtained for each combination of two movement points adjacent in the movement direction, for each upstream solution candidate, and for each downstream solution candidate. Further, the data creation unit 30 may obtain all the evaluation values by a procedure different from the procedure shown in FIG. 6 described above.

図8は、データ作成部30によって記憶部22に作成された移動時間t(i+1)_k_jのデータ構造を説明するための図である。図8には、移動点毎にm個の解候補がそれぞれ存在している場合を示す。またt(i+1)_k_jは、評価値をそれぞれ示す。ここでiは、移動方向に隣接する2つの移動点p(i),p(i+1)のうちの上流側の移動点p(i)の番号を示す。またjは、上流側の移動点p(i)における解候補の番号を示し、kは、下流側の移動点p(i+1)における解候補の番号を示す。   FIG. 8 is a diagram for explaining the data structure of the travel time t (i + 1) _k_j created in the storage unit 22 by the data creation unit 30. FIG. 8 shows a case where there are m solution candidates for each moving point. T (i + 1) _k_j indicates an evaluation value. Here, i indicates the number of the upstream moving point p (i) of the two moving points p (i) and p (i + 1) adjacent in the moving direction. Further, j represents the number of solution candidates at the upstream moving point p (i), and k represents the number of solution candidates at the downstream moving point p (i + 1).

上述したように本実施の形態では、2つの移動点p(i),p(i+1)のうちの下流側の移動点p(i+1)における1つの解候補c(i+1)_kに対して、上流側の移動点p(i)における各解候補c(i)_jがそれぞれ対応する組合せが存在する。たとえば図8では、移動方向1つめの移動点p1と移動方向2つめの移動点p2との組合せ(p1→p2)のうちで、2つめの移動点p2における第1解候補c2_1と、1つめの移動点p1における各解候補c1_jとでそれぞれ求められる移動時間t2_1_1〜t2_1_mは、m個存在する。また2つめの移動点p2における第2解候補c2_2と、1つめの移動点p1における各解候補c1_jとでそれぞれ求められる移動時間t2_2_1〜t2_2_mもまた、m個存在する。このことは、2つの移動点p(i),p(i+1)の組合せが異なる場合も同様である。したがって本実施の形態では、m×m×(N−1)個の評価値が記憶部22に記憶される。言い換えるとデータ作成部30は、m×m×(N−1)回、評価値を演算する。   As described above, in the present embodiment, one solution candidate c (i + 1) _k at the downstream moving point p (i + 1) of the two moving points p (i) and p (i + 1) is upstream. There are combinations corresponding to the respective solution candidates c (i) _j at the moving point p (i) on the side. For example, in FIG. 8, among the combinations (p1 → p2) of the first movement point p1 in the movement direction and the second movement point p2 in the movement direction, the first solution candidate c2_1 at the second movement point p2 and the first one There are m moving times t2_1_1 to t2_1_m respectively obtained for each solution candidate c1_j at the moving point p1. In addition, there are m moving times t2_2_1 to t2_2_m respectively obtained from the second solution candidate c2_2 at the second moving point p2 and the solution candidates c1_j at the first moving point p1. This is the same when the combination of the two moving points p (i) and p (i + 1) is different. Therefore, in the present embodiment, m × m × (N−1) evaluation values are stored in the storage unit 22. In other words, the data creation unit 30 calculates the evaluation value m × m × (N−1) times.

図9は、ステップa3において、データ探索部31が最適な解候補の組合せを演算する手順を示すフローチャートである。また図10は、データ探索部31によって求められる全体最適な解候補の組合せを説明するための図である。図10は、上述した図7に対応し、矢印付き線で結ばれる2つの解候補は、下流側の移動点p(i+1)の1つの解候補c(i+1)_kと、その解候補に対して、上流側の移動点p(i)の各解候補のうちで評価値の最も高いの解候補c(i)_Jとをそれぞれ示す。また各解候補の下方に図示される数値は、2つの解候補の組合せにおける累積評価値を示す。   FIG. 9 is a flowchart showing a procedure in which the data search unit 31 calculates an optimal combination of solution candidates in step a3. FIG. 10 is a diagram for explaining a combination of globally optimal solution candidates obtained by the data search unit 31. FIG. 10 corresponds to FIG. 7 described above, and two solution candidates connected by a line with an arrow are one solution candidate c (i + 1) _k of the moving point p (i + 1) on the downstream side and the solution candidate. The solution candidate c (i) _J having the highest evaluation value among the solution candidates at the upstream moving point p (i) is shown. A numerical value shown below each solution candidate indicates a cumulative evaluation value in a combination of two solution candidates.

図9に示すように、ステップf0で、全ての評価値を求めると、ステップf1に進み、最適な解候補の組合せの演算動作を開始する。ステップf1では、手先を移動させる移動方向最上流の移動点p1と、最上流の移動点の移動方向下流側に隣接する2つめの移動点p2とを選択し、ステップf2に進む。ステップf2では、選択した2つの移動点p(i),p(i+1)のうち下流側の移動点p(i+1)における各解候補c(i+1)のうちで、1番目の番号が関連付けられる解候補c(i+1)_1を選択し、ステップf3に進む。   As shown in FIG. 9, when all evaluation values are obtained in step f0, the process proceeds to step f1 to start an operation of calculating an optimal solution candidate combination. In step f1, the most upstream moving point p1 in the moving direction in which the hand is moved and the second moving point p2 adjacent to the downstream side in the moving direction of the most upstream moving point are selected, and the process proceeds to step f2. In step f2, among the two selected movement points p (i) and p (i + 1), the solution associated with the first number among the solution candidates c (i + 1) at the downstream movement point p (i + 1). Candidate c (i + 1) _1 is selected, and the process proceeds to step f3.

ステップf3では、直前に選択された2つの移動点のうちの下流側の移動点p(i+1)おける1つの解候補c(i+1)_kに対して、上流側の移動点p(i)の各解候補c(i)_1〜c(i)_mで、それぞれ累積評価値T(i+1)_k_1〜T(i+1)_k_mを求める。そして累積評価値が最も高くなる、上流側の移動点p(i)の解候補c(i)_Jを抽出する。累積評価値T(i+1)_k_jは、2つの解候補c(i)_j,c(i+1)_kの組合せによって求められる評価値t(i+1)_k_jと、上流側の移動点p(i)の解候補c(i)_jに既に関連付けられる累積評価値T(i)_k_Jとを加算した値である。ここで最上流の移動点p1の各解候補c1_jについては、関連付けられる累積評価値T(1)_k_Jが存在せず、演算時には便宜上ゼロとして関連付けられる。   In step f3, for each solution candidate c (i + 1) _k at the downstream moving point p (i + 1) of the two moving points selected immediately before, each upstream moving point p (i) Cumulative evaluation values T (i + 1) _k_1 to T (i + 1) _k_m are obtained for the solution candidates c (i) _1 to c (i) _m, respectively. Then, the solution candidate c (i) _J of the upstream moving point p (i) having the highest cumulative evaluation value is extracted. The cumulative evaluation value T (i + 1) _k_j is the solution of the evaluation value t (i + 1) _k_j obtained by the combination of two solution candidates c (i) _j and c (i + 1) _k and the upstream moving point p (i). This is a value obtained by adding the cumulative evaluation value T (i) _k_J already associated with the candidate c (i) _j. Here, for each solution candidate c1_j at the most upstream moving point p1, there is no associated cumulative evaluation value T (1) _k_J, and it is associated as zero for convenience during calculation.

たとえば図7に示す第3移動点p3の第1解候補c3_1に対して、第2移動点p2の各解候補c2_1〜c2_4のうちでは、第3解候補c2_3が抽出される。この場合、累積評価値T3_1_Jは、第2移動点p2と第3移動点p3との2つの解候補c(2),c(3)の組合せによって求められる評価値t3_1_jである6と、上流側となる第2移動点p2の第3解候補c2_3に既に関連付けられる累積評価値T2_k_Jであるゼロとを加算した値である。このようにしてデータ探索部31は、ステップf2で選択した解候補c(i+1)_kに対して、累積評価値T(i+1)_k_Jが最も高くなる上流側の移動点p(i)における解候補c(i)_jを1つ抽出すると、ステップf4に進む。   For example, for the first solution candidate c3_1 at the third movement point p3 shown in FIG. 7, the third solution candidate c2_3 is extracted from the solution candidates c2_1 to c2_4 at the second movement point p2. In this case, the cumulative evaluation value T3_1_J is an evaluation value t3_1_j obtained by a combination of two solution candidates c (2) and c (3) of the second movement point p2 and the third movement point p3, and the upstream side Is a value obtained by adding zero, which is a cumulative evaluation value T2_k_J, already associated with the third solution candidate c2_3 of the second moving point p2. In this way, the data search unit 31 has a solution candidate at the upstream moving point p (i) where the cumulative evaluation value T (i + 1) _k_J is the highest with respect to the solution candidate c (i + 1) _k selected in step f2. When one c (i) _j is extracted, the process proceeds to step f4.

ステップf4では、ステップf3で抽出した下流側の移動点p(i+1)の解候補c(i+1)_kに、ステップf3で求めた最も評価の高い累積評価値T(i+1)_k_Jを関連付ける。そして累積評価値T(i+1)_k_Jと、直前に選択した下流側の移動点p(i+1)の解候補c(i+1)_kと、抽出した上流側の移動点p(i)の解候補c(i+1)_Jと、2つの移動点の組合せとを関連させて、記憶部22に記憶する。記憶が完了すると、ステップf5に進む。   In step f4, the cumulative evaluation value T (i + 1) _k_J having the highest evaluation obtained in step f3 is associated with the solution candidate c (i + 1) _k of the downstream moving point p (i + 1) extracted in step f3. The cumulative evaluation value T (i + 1) _k_J, the solution candidate c (i + 1) _k of the downstream moving point p (i + 1) selected immediately before, and the solution candidate c () of the extracted upstream moving point p (i) i + 1) _J and a combination of two movement points are associated with each other and stored in the storage unit 22. When the storage is completed, the process proceeds to step f5.

ステップf5では、現時点で選択される2つの移動点において、下流側の移動点p(i+1)における各解候補c(i+1)のうちから、まだ選択していない解候補が存在するか否かを判断する。まだ選択していない解候補が存在すると判断すると、ステップf10に進む。   In step f5, it is determined whether or not there is a solution candidate that has not yet been selected from among the solution candidates c (i + 1) at the downstream movement point p (i + 1) at the two movement points selected at the present time. to decide. If it is determined that there is a solution candidate that has not yet been selected, the process proceeds to step f10.

ステップf10では、現時点で選択される2つの移動点において、下流側の移動点p(i+1)における各解候補c(i+1)のうちから、まだ選択していない解候補を選択し、ステップf3に戻る。具体的には、直前に選択された、下流側の移動点p(i+1)における1つの解候補c(i+1)_kの、次の番号が関連付けられる解候補c(i+1)_k+1を選択する。   In step f10, solution candidates that have not been selected are selected from the solution candidates c (i + 1) at the downstream movement point p (i + 1) at the two movement points selected at the present time. Return. Specifically, the solution candidate c (i + 1) _k + 1 associated with the next number of the one solution candidate c (i + 1) _k at the downstream moving point p (i + 1) selected immediately before is selected.

ステップf5において、現時点で選択される2つの移動点において、下流側の移動点p(i+1)における各解候補c(i+1)のうちで、全ての解候補をすでに選択したとすると、ステップf6に進む。ステップf6では、移動方向に隣接する2つの移動点p(i),p(i+1)の組合せを全て選択したか否かを判断し、まだ選択していない2つの移動点の組合せが存在すると判断すると、ステップf11に進む。ステップf11では、直前に選択した2つの移動点p(i),p(i+1)のうちの移動方向下流側の移動点p(i+1)と、その移動点よりもさらに移動方向下流側の移動点p(i+2)との2つの移動点の組合せを選択し、ステップf2に戻る。   In step f5, assuming that all the solution candidates among the solution candidates c (i + 1) at the downstream moving point p (i + 1) have already been selected at the two moving points selected at the present time, the process goes to step f6. move on. In step f6, it is determined whether or not all combinations of two moving points p (i) and p (i + 1) adjacent in the moving direction have been selected, and it is determined that there is a combination of two moving points that have not yet been selected. Then, the process proceeds to step f11. In step f11, of the two movement points p (i) and p (i + 1) selected immediately before, the movement point p (i + 1) on the downstream side in the movement direction, and the movement point further downstream in the movement direction than the movement point A combination of two moving points with p (i + 2) is selected, and the process returns to step f2.

ステップf6において、移動方向に隣接する2つの移動点p(i),p(i+1)の組合せを全て選択したとすると、ステップf7に進む。図11は、データ探索部31によって記憶部22に作成された累積評価値T(i+1)_k_Jのデータ構造を説明するための図である。図11は、図8に対応し、T(i+1)_k_Jは、各解候補に関連付けられた累積評価値をそれぞれ示す。累積評価値は、第2の移動点p2〜最下流の移動点pNのそれぞれの移動点の数と同じだけ存在する。たとえば第2の移動点p2にm個の解候補が存在すると、第2の移動点p2における累積評価値もm個存在する。第3の移動点p3〜最下流の移動点pNも同様である。したがって本実施の形態では、m×(N−1)個の累積評価値が記憶部22に記憶される。   If it is assumed in step f6 that all combinations of two moving points p (i) and p (i + 1) adjacent in the moving direction have been selected, the process proceeds to step f7. FIG. 11 is a diagram for explaining the data structure of the cumulative evaluation value T (i + 1) _k_J created in the storage unit 22 by the data search unit 31. FIG. 11 corresponds to FIG. 8, and T (i + 1) _k_J indicates a cumulative evaluation value associated with each solution candidate. There are as many cumulative evaluation values as the number of moving points of the second moving point p2 to the most downstream moving point pN. For example, if m solution candidates exist at the second movement point p2, there are m cumulative evaluation values at the second movement point p2. The same applies to the third moving point p3 to the most downstream moving point pN. Therefore, in the present embodiment, m × (N−1) cumulative evaluation values are stored in the storage unit 22.

図9に戻って、ステップf7では、最下流の移動点pNの解候補cN_1〜cN_mのうちで、関連付けられる累積評価値TN_1_J〜TN_m_Jが最も高い解候補を抽出する。言い換えると、最下流の移動点pNと、その1つ手前の移動点p(N−1)との組合せにおいて、累積評価値が最も高い解候補の組合せを抽出する。抽出すると、ステップf8に進む。   Returning to FIG. 9, in step f7, among the solution candidates cN_1 to cN_m of the most downstream moving point pN, a solution candidate having the highest associated cumulative evaluation value TN_1_J to TN_m_J is extracted. In other words, a combination of solution candidates having the highest cumulative evaluation value is extracted from the combination of the most downstream moving point pN and the immediately preceding moving point p (N−1). Once extracted, the process proceeds to step f8.

ステップf8では、ステップf8で抽出した解候補の組合せに関連する解候補を移動点毎に順次抽出し、抽出した移動点毎の解候補の組合せを、最適な解候補の組合せとして記憶する。具体的には、記憶部22に記憶される累積評価値に関する情報に基づいて、ステップf8で抽出した最下流の移動点の解候補と組合わされた場合に、累積評価値の最も高くなる移動方向上流側の移動点の解候補を抽出し、その抽出した解候補と組合わされた場合に、累積評価値の最も高くなる移動方向さらに上流側の移動点の解候補を抽出する。   In step f8, solution candidates related to the combination of solution candidates extracted in step f8 are sequentially extracted for each moving point, and the extracted combination of solution candidates for each moving point is stored as an optimal combination of solution candidates. Specifically, based on the information about the accumulated evaluation value stored in the storage unit 22, when combined with the solution candidate for the most downstream moving point extracted in step f8, the moving direction in which the accumulated evaluation value is highest A solution candidate for an upstream moving point is extracted, and when combined with the extracted solution candidate, a solution candidate for an upstream moving point is further extracted in the moving direction in which the cumulative evaluation value is highest.

言い換えると、累積評価値が記憶されたデータベースを用いて、抽出した最下流の移動点の解候補から移動方向上流側に遡って、移動点間毎に評価の最も高い累積評価値の組合せの解候補を順次辿り、辿った解候補を移動点毎に順次抽出する。このようにして移動点毎に抽出された解候補の組合せが、全体的な評価値の最も高い解候補の組合せ、すなわち最適な解候補の組合せとなる。最適な解候補の組合せを抽出すると、ステップf9に進み、最適な解候補の組合せの演算動作を終了する。本実施の形態では、手先が移動点を移動する方向を評価方向として演算したが、手先が移動点を移動する方向と反対方向を評価方向として、演算を順次行っても、最も評価の高い移動点毎の解候補の組合せを求めることができる。   In other words, using the database in which the cumulative evaluation values are stored, the solution of the combination of the cumulative evaluation values with the highest evaluation for each moving point is traced back to the upstream side in the movement direction from the extracted solution candidate for the most downstream movement point. The candidates are traced sequentially, and the traced solution candidates are extracted sequentially for each moving point. The combination of solution candidates extracted for each moving point in this way is the combination of solution candidates having the highest overall evaluation value, that is, the optimal combination of solution candidates. When the optimum combination of solution candidates is extracted, the process proceeds to step f9, and the calculation operation of the optimum solution candidate combination is terminated. In this embodiment, the direction in which the hand moves the moving point is calculated as the evaluation direction. However, even if the calculation is sequentially performed with the direction opposite to the direction in which the hand moves the moving point as the evaluation direction, the movement with the highest evaluation is performed. A combination of solution candidates for each point can be obtained.

本実施の形態では、図8に示すような2つの解候補の組合せ毎に求められる全ての評価値を演算してから、最適な解候補の組合せを探索するまでに、繰返す計算回数は、m×m×(N−1)回となる。これに対して、累積評価値を用いずに全域探索法を用いた場合には、最適な解候補の組合せを探索するまでに、繰返す計算回数は、m回となる。ここでmは、上述したように、1つの移動点に取得る解候補の数であって、Nは移動点の数となる。したがって冗長関節の角度位置を変更する刻み幅を細かくすると探索に必要な繰返し回数は、累積評価を用いない場合には指数的に増大する。これに対して、本実施形態では刻み幅を細かくしても比例的にしか増大せず、繰返し計算回数の増加を極めて効果的に抑えることができる。 In the present embodiment, the number of calculations to be repeated after calculating all the evaluation values obtained for each combination of two solution candidates as shown in FIG. 8 until searching for the optimal combination of solution candidates is m Xmx (N-1) times. On the other hand, when the whole area search method is used without using the cumulative evaluation value, the number of calculations to be repeated before searching for the optimal combination of solution candidates is m N times. Here, as described above, m is the number of solution candidates acquired at one moving point, and N is the number of moving points. Therefore, if the step size for changing the angular position of the redundant joint is made fine, the number of iterations required for the search increases exponentially when the cumulative evaluation is not used. On the other hand, in this embodiment, even if the step size is made fine, it increases only proportionally, and the increase in the number of repeated calculations can be suppressed extremely effectively.

たとえばN=30、m=800とすると、累積評価を用いない場合には、約1.2×1087回繰返し演算しなければならないのに対して、本実施形態では、約1.9×10回繰返し演算を行うだけでよい。したがって高い演算能力を有する処理回路を必要とすることなく、短時間で最適な解候補の組合せを探索することができる。 For example, when N = 30 and m = 800, when the cumulative evaluation is not used, the calculation must be repeated about 1.2 × 10 87 times, whereas in the present embodiment, about 1.9 × 10 6 is required. It is only necessary to repeat the calculation seven times. Therefore, it is possible to search for an optimal combination of solution candidates in a short time without the need for a processing circuit having a high calculation capability.

図12は、演算結果と演算前との移動時間の変化のシミュレーション結果をそれぞれ示すグラフである。図12には、作業者によって入力された初期状態の移動点毎の関節形態の組合せで、手先を順次移動させた場合の移動点間の移動時間を破線で示す。また教示支援装置20によって演算された最適な移動点毎の関節形態の組合せにおける移動点間の移動時間を実線で示す。   FIG. 12 is a graph showing simulation results of changes in travel time between the calculation result and before the calculation. In FIG. 12, the movement time between the movement points when the hand is sequentially moved with the combination of the joint forms for each movement point in the initial state input by the operator is indicated by a broken line. In addition, the movement time between movement points in the combination of joint forms for each optimum movement point calculated by the teaching support device 20 is indicated by a solid line.

上述したように教示支援装置20は、移動点間ごとに最大移動関節の移動量が最も小さくなるような、関節形態の組合せを出力する。したがって演算結果の関節形態の組合せを適用することによって、初期状態に比べて全体的な移動時間を短縮することができる。本実施形態では、演算結果を採用することで、初期状態に比べて、第1移動点から第28移動点に達するまでの総合移動時間を47.4%短縮することができた。このように演算結果を用いることで、ロボットの移動時間を大幅に短縮することができ、ロボット動作時の作業効率を向上することができる。   As described above, the teaching support device 20 outputs a combination of joint forms that minimizes the amount of movement of the maximum moving joint between moving points. Therefore, by applying the combination of the joint forms of the calculation result, the overall movement time can be shortened compared to the initial state. In the present embodiment, by adopting the calculation result, the total movement time from the first movement point to the 28th movement point can be shortened by 47.4% compared to the initial state. By using the calculation result in this way, the movement time of the robot can be greatly shortened, and the work efficiency during the robot operation can be improved.

また本実施の形態の計算条件および計算時間を表1に示す。表1に示すように、本実施の形態では、計算時間に約12分を費やしたが、累積評価を用いない場合には、2時間費やしても最適な解候補の組合せを探索することができなかった。   Table 1 shows the calculation conditions and calculation time of this embodiment. As shown in Table 1, in this embodiment, about 12 minutes was spent in the calculation time. However, when the cumulative evaluation is not used, an optimal combination of solution candidates can be searched even if 2 hours are spent. There wasn't.

Figure 2007203380
Figure 2007203380

図13は、図12に関連した演算結果によるロボットの関節形態の変化を示す図であって、ロボットの関節形態は、図13(1)〜図13(12)の順に進む。図14は、図12に関連した初期状態でのロボットの関節形態変化を示す図であって、ロボットの関節形態は、図14(1)〜図14(12)の順に進む。図13に示す演算結果によるロボットの関節形態変化は、図14に示す初期状態での関節形態変化に比べて、移動点間ごとに最大移動関節の移動量が小さく、不所望な関節の角変位を省くことができる。   FIG. 13 is a diagram showing a change in the joint form of the robot according to the calculation result related to FIG. 12, and the joint form of the robot proceeds in the order of FIG. 13 (1) to FIG. 13 (12). FIG. 14 is a diagram showing changes in the joint form of the robot in the initial state related to FIG. 12, and the joint form of the robot proceeds in the order of FIGS. 14 (1) to 14 (12). Compared with the joint shape change in the initial state shown in FIG. 14, the change in the joint shape of the robot based on the calculation result shown in FIG. Can be omitted.

以上のように本実施の形態では、冗長関節の角度位置ごとでかつ、離散形態ごとに、解候補の全域探索を行う。そして解候補の組合せごとに移動点間の移動時間を全て求め、下流側の解候補ごとに、移動時間が最も短い上流側の解候補の組合せをそれぞれ抽出する。その抽出結果に基づいて、始点から終点まで手先を移動させる全体的な移動時間が最も短くなる解候補の組合せを探索する。   As described above, in the present embodiment, the entire search for solution candidates is performed for each angular position of the redundant joint and for each discrete form. Then, all movement times between moving points are obtained for each combination of solution candidates, and for each solution candidate on the downstream side, a combination of solution candidates on the upstream side having the shortest movement time is extracted. Based on the extraction result, a search is made for a combination of solution candidates that minimizes the overall movement time for moving the hand from the start point to the end point.

このようにして、全ての解候補の組合せを対象として、最適な解候補の組合せを求めることで、局所解に陥る可能性のある勾配法に比べて、最適な解候補の組合せを確実に得ることができる。また評価の低い組合せを除いて、最適な解候補の組合せを探索することで、評価の低い組合せを除かずに行う全域探索法に比べて短時間に最適な解候補の組合せを得ることができる。具体的には、上述したように冗長関節の角度位置を変更する刻み幅を細かくすると探索に必要な繰返し回数は、累積評価を用いない場合には指数的に増大するのに対して、本実施形態では比例的にしか増大せず、繰返し計算回数の増加を極めて効果的に抑えることができる。これによって移動点を増やすことができ、一度に移動可能な領域を増やすことができる。また刻み幅を小さくすることができ、より最適な解候補の組合せを求めることができる。   In this way, by finding the optimal solution candidate combination for all solution candidate combinations, the optimal solution candidate combination can be reliably obtained as compared with the gradient method that may fall into a local solution. be able to. In addition, by searching for an optimal combination of solution candidates except for a combination with a low evaluation, it is possible to obtain an optimal combination of solution candidates in a short time compared to a global search method that does not exclude a combination with a low evaluation. . Specifically, as described above, when the step size for changing the angular position of the redundant joint is made fine, the number of iterations required for the search increases exponentially when the cumulative evaluation is not used, whereas this implementation is performed. The form increases only proportionally, and the increase in the number of repeated calculations can be extremely effectively suppressed. As a result, the number of moving points can be increased, and the area that can be moved at a time can be increased. Further, the step size can be reduced, and a more optimal solution candidate combination can be obtained.

また本実施の形態では、傾斜関節を有するロボットの解候補の最適な組合せを教示支援装置20が求める。傾斜関節を有するロボットは、特異点が多く、移動時間の非線形性が高くなる。また手先を移動させるのに関節の角度位置変化が変則的である。このようなロボットでは、作業者は、全体的な移動時間が最短となる解候補を、手動で推定しずらい。本実施の形態の教示支援装置を用いることによって、作業者は、手動で推定しずらい最適な解候補の組合せを把握することができる。したがって教示支援装置は、教示作業の支援を効果的に達成することができる。   In the present embodiment, the teaching support apparatus 20 obtains the optimal combination of solution candidates for the robot having the tilt joint. A robot having an inclined joint has many singular points, and the nonlinearity of the movement time becomes high. Also, the change in the angular position of the joint is irregular to move the hand. In such a robot, it is difficult for an operator to manually estimate a solution candidate having the shortest overall movement time. By using the teaching support apparatus according to the present embodiment, the operator can grasp the optimal combination of solution candidates that are difficult to estimate manually. Therefore, the teaching support apparatus can effectively achieve teaching work support.

また本発明の第2実施形態として、教示支援装置20は、ロボットに対する障害物に関する情報が入力部23から入力されてもよい。以下、障害物を回避したうえで最適な関節形態の組合せを求める教示支援装置20について説明する。障害物を考慮した関節形態を求める場合であっても、教示支援装置20は、図1と同様となる演算部21、記憶部22、入力部23および出力部24を有する。また教示支援装置20は、図2と同様な動作手順によって演算結果を出力する。   Further, as the second embodiment of the present invention, the teaching support apparatus 20 may receive information regarding an obstacle to the robot from the input unit 23. Hereinafter, the teaching support apparatus 20 that obtains an optimal combination of joint forms while avoiding obstacles will be described. Even in the case of obtaining a joint form in consideration of an obstacle, the teaching support apparatus 20 includes a calculation unit 21, a storage unit 22, an input unit 23, and an output unit 24 that are the same as those in FIG. The teaching support apparatus 20 outputs the calculation result by the same operation procedure as that in FIG.

図15は、本発明の第2実施形態であるロボットの教示支援装置20での入力部23の動作手順を示すフローチャートである。入力部23は、ステップg0で作業者によって操作されると、ステップg1に進み、入力受付け動作を開始する。   FIG. 15 is a flowchart showing an operation procedure of the input unit 23 in the robot teaching support apparatus 20 according to the second embodiment of the present invention. When the input unit 23 is operated by the worker in step g0, the process proceeds to step g1 and starts an input receiving operation.

入力部23は、図3に示すステップb1,b2と同様の動作をステップg1,g2で順に行った後、ステップg3に進む。ステップg3では、入力部23は、障害物の入力を受付ける。作業者によって、ロボットに対する障害物の情報、すなわちロボットの進入が禁止される進入禁止領域の情報が入力されると、その情報を演算部21に入力し、ステップg4に進む。入力部23は、図3に示すステップb3,b4と同様の動作をステップg4,g5で順に行い、入力受付け動作を終了する。   The input unit 23 performs the same operations as steps b1 and b2 shown in FIG. 3 in order at steps g1 and g2, and then proceeds to step g3. In step g3, the input unit 23 receives an input of an obstacle. When the operator inputs information on an obstacle to the robot, that is, information on an entry-prohibited area where entry of the robot is prohibited, the information is input to the calculation unit 21 and the process proceeds to step g4. The input unit 23 sequentially performs the same operations as steps b3 and b4 shown in FIG. 3 in steps g4 and g5, and ends the input receiving operation.

図16は、第2実施形態でのステップc2において、データ作成部30が全ての解候補を求める手順を示すフローチャートである。第2実施形態では、図5に示す動作と類似しており、演算解が障害物と干渉しているか否かを判断するステップd14が余分に含まれる。したがって同様のステップについては、説明を省略し、同様の参照符号を付する。   FIG. 16 is a flowchart illustrating a procedure in which the data creation unit 30 obtains all solution candidates in step c2 in the second embodiment. The second embodiment is similar to the operation shown in FIG. 5 and includes an extra step d14 for determining whether the arithmetic solution interferes with an obstacle. Therefore, the description of similar steps is omitted, and the same reference numerals are given.

第2実施形態では、ステップd5において、逆変換を行って求めた演算解が、機構的解であると判断すると、ステップd14に進む。ステップd14では、データ作成部30は、演算解に従った関節形態で手先を移動点に定められる位置姿勢に位置決めした状態で、進入禁止領域にロボットの一部が進入するか否か、いわゆる干渉チェックを行う。進入禁止領域にロボットの一部が進入することを判断すると、ステップd11に進む。またロボットの一部が進入しないことを判断すると、ステップd6に進む。その他の構成については、図5に示す動作と同一である。第2実施形態によれば、干渉の可能性がある解候補を記憶部22に採用せずに、障害物と衝突しない実用可能な解候補について記憶部22に記憶することになる。第2実施形態では、その他の手順については、第1実施形態と同様である。   In the second embodiment, when it is determined in step d5 that the arithmetic solution obtained by performing the inverse transformation is a mechanical solution, the process proceeds to step d14. In step d14, the data creation unit 30 determines whether or not a part of the robot enters the entry prohibition area in a state where the hand is positioned in the position and orientation determined as the moving point in the joint form according to the calculation solution, so-called interference. Check. If it is determined that a part of the robot enters the entry prohibited area, the process proceeds to step d11. If it is determined that a part of the robot does not enter, the process proceeds to step d6. The other configuration is the same as the operation shown in FIG. According to the second embodiment, solution candidates that have a possibility of interference are not used in the storage unit 22, and practical solution candidates that do not collide with an obstacle are stored in the storage unit 22. In the second embodiment, the other procedures are the same as in the first embodiment.

図17は、干渉チェックの方法を説明するための図である。本実施の形態では、データ作成部30は、OBB(Oriented Bounding Box)を用いた干渉判定計算を行う。図17に示すように、進入禁止領域を直方体とし、リンク体を線分としたときに、線分が直方体に進入するか否かで判断する。データ作成部30は、ステップd4で求めた解候補に基づいて、順変換演算を行って、各リンク体を線分としたときの3次元位置、線分の方向ベクトルを求め、それぞれの線分ごとに上述した干渉チェックを行う。   FIG. 17 is a diagram for explaining an interference check method. In the present embodiment, the data creation unit 30 performs interference determination calculation using an OBB (Oriented Bounding Box). As shown in FIG. 17, when the entry prohibition area is a rectangular parallelepiped and the link body is a line segment, it is determined whether or not the line segment enters the rectangular parallelepiped. The data creation unit 30 performs a forward conversion operation based on the solution candidate obtained in step d4 to obtain a three-dimensional position and a direction vector of the line segment when each link body is a line segment. The above-described interference check is performed every time.

OBBを用いた干渉判定計算では、表2に示す係数の組合せのうち、少なくとも1つが、R>R0+R1+εで表される関係を満たしていれば、非干渉であると判断される。ここでεは、干渉余裕であり、リンク体の半径以上に設定される。リンク体の半径よりも予め定める量大きくすることで、障害物に近接した状態であっても干渉したと判断させることができる。εは、ステップg3で、障害物情報とともに作業者から入力される。   In the interference determination calculation using the OBB, if at least one of the coefficient combinations shown in Table 2 satisfies the relationship expressed by R> R0 + R1 + ε, it is determined that there is no interference. Here, ε is an interference margin and is set to be equal to or larger than the radius of the link body. By making the predetermined amount larger than the radius of the link body, it is possible to determine that interference has occurred even in the state of being close to the obstacle. In step g3, ε is input from the operator along with the obstacle information.

Figure 2007203380
Figure 2007203380

表2において、aは、障害物を直方体としたときの重心から端面までの縦方向の寸法である。aは、障害物を直方体としたときの重心から端面までの横方向の寸法である。aは、障害物を直方体としたときの重心から端面までの幅方向の寸法である。またωは、リンク体を線分としたときにその線分が延びる方向を示すベクトルである。またAは、障害物を直方体としたときの縦方向を示す単位ベクトルであり、Aは、障害物を直方体としたときの横方向を示す単位ベクトルである。Aは、障害物を直方体としたときの幅方向を示す単位ベクトルである。またDは、リンク体を線分としたときの中点と、障害物を直方体としたときの重心とを結ぶ方向を示すベクトルである。また「×」は、ベクトルの外積を示し、「・」は、ベクトルの内積を表わす。 In Table 2, a 0 is the longitudinal dimension from the center of gravity when the obstacle and rectangular to the end face. a 1 is the transverse dimension from the center of gravity when the obstacle and rectangular to the end face. a 2 is the width dimension of the center of gravity to the end face of when the obstacle a rectangular parallelepiped. Ω is a vector indicating the direction in which the line segment extends when the link body is a line segment. A 0 is a unit vector indicating the vertical direction when the obstacle is a rectangular parallelepiped, and A 1 is a unit vector indicating the horizontal direction when the obstacle is a rectangular parallelepiped. A 2 is a unit vector indicating the width direction when the obstacle is a rectangular parallelepiped. D is a vector indicating the direction connecting the midpoint when the link body is a line segment and the center of gravity when the obstacle is a rectangular parallelepiped. “×” represents an outer product of vectors, and “·” represents an inner product of vectors.

ここで、図17に示す干渉チェックは、一例であってその他の干渉チェック手法を用いて、手先を移動点に定められる位置姿勢に位置決めさせた場合における干渉チェックを行ってもよい。   Here, the interference check shown in FIG. 17 is an example, and other interference check methods may be used to perform the interference check when the hand is positioned at the position and orientation determined as the moving point.

図18は、障害物を回避する場合における、演算結果と演算前との移動時間の変化のシミュレーション結果をそれぞれ示すグラフである。図18には、作業者によって入力された初期状態の移動点毎の関節形態の組合せで、手先を順次移動させた場合の移動点間の移動時間を破線で示す。また教示支援装置20によって演算された最適な移動点毎の関節形態の組合せにおける移動点間の移動時間を実線で示す。   FIG. 18 is a graph showing a simulation result of a change in travel time between the calculation result and before the calculation when an obstacle is avoided. In FIG. 18, the movement time between the movement points when the hand is sequentially moved with the combination of the joint forms for each movement point in the initial state input by the operator is indicated by a broken line. In addition, the movement time between movement points in the combination of joint forms for each optimum movement point calculated by the teaching support device 20 is indicated by a solid line.

第2実施形態による教示支援装置20は、障害物を回避したうえで、移動点間ごとに最大移動関節の移動量が最も小さくなるような、関節形態の組合せを出力する。この場合も、初期状態の関節形態の組合せに比べて、演算結果の関節形態の組合せを適用することによって、全体的な移動時間を短縮することができる。本実施形態では、演算結果を採用することで、初期状態に比べて、総合移動時間を17.2%短縮することができた。このように演算結果を用いることで、障害物を回避したうえで、ロボットの移動時間を短縮することができ、ロボット動作時の作業効率を向上することができる。また本実施の形態の計算条件および計算時間を表3に示す。障害物情報が入力されると、ロボットの移動時間の短縮効果は小さくなるが、実用可能な解を出力することができる。また干渉チェック自体は、計算負荷が比較的大きいが、干渉チェックによって解候補が絞り込まれることによって、後段の演算処理における繰返し計算を減らすことができ、障害物を考慮しない場合に比べて、全体的な演算時間を短縮することができる場合がある。   The teaching support apparatus 20 according to the second embodiment outputs a combination of joint forms such that the movement amount of the maximum moving joint is minimized between moving points after avoiding an obstacle. In this case as well, the overall movement time can be shortened by applying the combination of joint forms obtained as a result of the calculation compared to the combination of joint forms in the initial state. In the present embodiment, by adopting the calculation result, the total travel time can be shortened by 17.2% compared to the initial state. By using the calculation result in this way, it is possible to reduce the movement time of the robot while avoiding obstacles, and to improve the working efficiency during the robot operation. Table 3 shows calculation conditions and calculation time of the present embodiment. When obstacle information is input, the effect of shortening the movement time of the robot is reduced, but a practical solution can be output. In addition, the interference check itself has a relatively large calculation load, but the solution candidates are narrowed down by the interference check, so that iterative calculation in the subsequent calculation processing can be reduced, and compared with the case where no obstacle is taken into consideration. In some cases, it is possible to shorten the calculation time.

Figure 2007203380
Figure 2007203380

図19は、図18に関連した障害物を回避する演算結果によるロボットの関節形態の変化を示す図であって、ロボットの関節形態は、図19(1)〜図19(12)の順に進む。図20は、図18に関連した障害物を回避する初期状態でのロボットの関節形態変化を示す図であって、ロボットの関節形態は、図20(1)〜図20(12)の順に進む。図19に示す演算結果によるロボットの関節形態変化は、障害物を回避したうえで、図20に示す初期状態での関節形態変化に比べて、移動点間ごとに最大移動関節の移動量が小さく、不所望な関節の角変位を省くことができる。   FIG. 19 is a diagram illustrating a change in the joint form of the robot according to the calculation result for avoiding the obstacle related to FIG. 18, and the joint form of the robot proceeds in the order of FIG. 19 (1) to FIG. 19 (12). . FIG. 20 is a diagram illustrating changes in the joint form of the robot in an initial state in which the obstacles related to FIG. 18 are avoided. The joint form of the robot proceeds in the order of FIGS. 20 (1) to 20 (12). . The robot joint shape change based on the calculation result shown in FIG. 19 avoids an obstacle, and the movement amount of the maximum movable joint is small for each movement point compared to the joint shape change in the initial state shown in FIG. Undesirable angular displacement of the joint can be omitted.

以上のように本実施形態では、第1実施形態と同様の効果を得ることができる。評価値に基づいて決定される第1評価基準と、ロボットと障害物との干渉の有無によって決定される第2評価基準とによって、総合的な評価基準となる。障害物との干渉チェックを行い、障害物との接触することが防がれた解候補のうちで、最適な解候補の組合せを演算する。これによって実際に適用可能な解候補の組合せを求めることができ、教示支援装置20を、オフラインティーチングに好適に用いることができる。また図16のステップd14に示すように、障害物とロボットとが接触するであろう解候補を除いた状態で、評価工程、探索工程を行う。これによって1つの移動点に対応する解候補の数mを少なくすることができ、障害物を考慮に入れずに計算する場合に比べて、評価工程および探索工程に費やす計算時間を短縮することができる。これによって全体的な演算時間を短縮できる場合がある。また障害物に関する情報を入力することによって、作業者が最初に想定したロボットの形態と大きく異なっていても、ロボットが進入禁止領域に進入することを防ぐことができ、ロボットと障害物とが衝突することを防ぐことができる。さらに評価値および解候補を記憶部22に記憶することで、障害物の情報が更新、変更されたとしても、以前に演算した評価値および解候補の値を用いることで、短時間に最適な解候補の組合せを求めることができる。   As described above, in this embodiment, the same effect as that of the first embodiment can be obtained. The first evaluation criterion determined based on the evaluation value and the second evaluation criterion determined based on the presence / absence of interference between the robot and the obstacle provide a comprehensive evaluation criterion. An interference check with an obstacle is performed, and an optimal combination of solution candidates is calculated from the solution candidates that are prevented from coming into contact with the obstacle. Thus, a combination of solution candidates that can be actually applied can be obtained, and the teaching support apparatus 20 can be suitably used for off-line teaching. In addition, as shown in step d14 of FIG. 16, the evaluation process and the search process are performed in a state where the solution candidates that the obstacle and the robot may contact are excluded. As a result, the number m of solution candidates corresponding to one moving point can be reduced, and the calculation time spent in the evaluation process and the search process can be shortened compared to the case where calculation is performed without taking obstacles into consideration. it can. This may reduce the overall calculation time. In addition, by entering information about obstacles, even if the worker is greatly different from the robot form originally assumed, the robot can be prevented from entering the prohibited area, and the robot and the obstacle can collide. Can be prevented. Further, by storing the evaluation value and the solution candidate in the storage unit 22, even if the information on the obstacle is updated or changed, the evaluation value and the solution candidate value calculated before are used, so that the optimum value can be obtained in a short time. A combination of solution candidates can be obtained.

また第3実施形態として、教示支援装置20は、第2実施形態に加えて、手先を一方の移動点から他方の移動点へ移動させる間に、ロボットの一部が障害物に衝突するか否かを判断し、ロボットの一部が衝突しない関節形態変化を求めてもよい
図21は、第3実施形態での、ステップa3において、データ探索部31が最適な解候補の組合せを演算する手順を示すフローチャートである。第3実施形態では、図9に示す動作と類似しており、手先を一方の移動点から他方の移動点へ移動させる間に、ロボットの一部が障害物に衝突するか否かを判断するステップf12と、それに関連するステップf13が余分に含まれる。したがって同様のステップについては、説明を省略し、同様の参照符号を付する。
As a third embodiment, in addition to the second embodiment, the teaching support apparatus 20 determines whether or not a part of the robot collides with an obstacle while moving the hand from one movement point to the other movement point. FIG. 21 illustrates a procedure for the data search unit 31 to calculate an optimal combination of solution candidates in step a3 in the third embodiment. It is a flowchart which shows. The third embodiment is similar to the operation shown in FIG. 9, and determines whether or not a part of the robot collides with an obstacle while moving the hand from one moving point to the other moving point. Step f12 and step f13 related thereto are included in excess. Therefore, the description of similar steps is omitted, and the same reference numerals are given.

第3実施形態では、ステップf3において、累積評価値が最も高い組合せの2つの解候補について、対応する2つの移動点間を移動する間に、ロボットの一部が進入禁止領域に進入するか否かを判断する。具体的には、抽出した2つの解候補に従って、一方の移動点から他方の移動点まで移動した場合に、一方の移動点から予め定める時間間隔毎に変化するであろうロボットの関節形態ごとに、ステップd14で示す静的干渉チェックを繰返す。静的干渉チェックを繰返すうちで一度でもロボットが進入禁止領域に進入する判断すると、ステップf13に進む。   In the third embodiment, whether or not a part of the robot enters the entry prohibition area while moving between two corresponding movement points for the two solution candidates having the highest cumulative evaluation value in step f3. Determine whether. Specifically, according to the extracted two solution candidates, when moving from one moving point to the other moving point, for each joint form of the robot that will change at a predetermined time interval from one moving point The static interference check shown in step d14 is repeated. If it is determined that the robot enters the entry prohibition area even once during the static interference check, the process proceeds to step f13.

ステップf13では、以前にステップf3で求められた上流側の移動点の解候補を除外し、ステップf3に戻る。ステップf3では、ステップf13によって、除外された解候補を除いて、上流側の移動点の残余の解候補のうちから、最も累積評価値の高い解候補を抽出し、ステップf12に進む。   In step f13, the upstream moving point candidate previously obtained in step f3 is excluded, and the process returns to step f3. In step f3, the solution candidate having the highest cumulative evaluation value is extracted from the remaining solution candidates at the upstream moving point except for the solution candidates excluded in step f13, and the process proceeds to step f12.

またステップf12において、静的干渉チェックを繰返すうちで一度もロボットが進入禁止領域に進入しないと判断すると、ステップf4に進む。そしてステップf4で、干渉することなく、最も累積評価値の高い解候補の組合せを記憶する。その他の構成については、図9に示す動作と同一である。第3実施形態によれば、動的干渉の可能性がある解候補の組合せを採用せずに、障害物と衝突しない実用可能な解候補の組合せについて記憶部22に記憶することになる。第3実施形態では、その他の手順については、第2実施形態と同様である。   If it is determined in step f12 that the robot never enters the entry prohibited area while repeating the static interference check, the process proceeds to step f4. In step f4, a solution candidate combination having the highest cumulative evaluation value is stored without interference. The other configuration is the same as the operation shown in FIG. According to the third embodiment, a combination of practical solution candidates that do not collide with an obstacle is stored in the storage unit 22 without using a combination of solution candidates that may cause dynamic interference. In the third embodiment, the other procedures are the same as in the second embodiment.

大略的に、ステップd4において解候補を求める計算量(D4α)、ステップd14において静的干渉チェックする計算量(D14α)、ステップf3において評価の最も高い累積評価値を抽出する計算量(F3α)、ステップf12において動的干渉チェックする計算量(F12α)、の順番で計算負荷が大きくなる(F12α>F3α>D14α>D4α)。   In general, a calculation amount (D4α) for obtaining a solution candidate in step d4, a calculation amount (D14α) for performing static interference check in step d14, a calculation amount (F3α) for extracting a cumulative evaluation value having the highest evaluation in step f3, In step f12, the calculation load increases in the order of the calculation amount (F12α) for the dynamic interference check (F12α> F3α> D14α> D4α).

またステップd14において静的干渉チェックを行う計算対象の数(D14β)は、ステップd5によって絞り込まれた解候補について行われるので、ステップd4において解候補を求める計算対象の数(D4β)よりも少ない。またステップd4において評価の最も高い累積評価値を抽出する計算対象の数(D4β)は、静的干渉チェックによってさらに絞り込まれた計算対象について行われる。またステップf12において動的干渉チェックを行う計算対象の数(F12β)は、ステップd4においてさらに絞り込まれた計算対象について行われる。したがって計算対象の数は、演算工程が進むにつれて絞り込まれる(D4β>D14β>F3β>F12β)。   In addition, since the number of calculation targets (D14β) for which the static interference check is performed in step d14 is performed for the solution candidates narrowed down in step d5, the number is smaller than the number of calculation targets (D4β) for which solution candidates are obtained in step d4. Further, the number of calculation objects (D4β) from which the cumulative evaluation value with the highest evaluation is extracted in step d4 is calculated for the calculation objects further narrowed down by the static interference check. In addition, the number of calculation objects (F12β) for which the dynamic interference check is performed in step f12 is performed for the calculation objects further narrowed down in step d4. Therefore, the number of objects to be calculated is narrowed down as the calculation process proceeds (D4β> D14β> F3β> F12β).

以上のように本実施形態では、第1実施形態および第2実施形態と同様の効果を得ることができる。また本実施形態では、移動点間を手先が移動する間についても、障害物を衝突することを防ぐことができる、最適な移動点毎の解候補の組合せを求めることができ、さらに実用的な解候補を求めることができる。また本実施の形態では、計算負担の小さい演算は大量に実施してデータベース化し、計算負担の大きい演算は前の工程で絞り込まれた計算対象についてのみ実行する。これによって計算負担の大きい演算を繰返す回数を抑えて、効率よく演算を行うことができ、計算時間の増加を抑えることができる。   As described above, in the present embodiment, the same effects as those in the first embodiment and the second embodiment can be obtained. Further, in the present embodiment, it is possible to obtain an optimal combination of solution candidates for each moving point that can prevent an obstacle from colliding even while the hand moves between the moving points. Candidate solutions can be obtained. Further, in the present embodiment, a large amount of operations with a small calculation load are implemented as a database, and operations with a large calculation load are executed only for calculation objects narrowed down in the previous step. As a result, the number of repetitions of calculations with a large calculation burden can be suppressed, the calculations can be performed efficiently, and an increase in calculation time can be suppressed.

またデータベースに以前に演算した全ての解候補および全ての評価値を記憶しておくことで、最適な移動点毎の解候補を演算した後に、作業者によって障害物情報が再入力された場合または進入禁止領域が更新された場合など、記憶手段に記憶される関節形態を用いて、解候補を再抽出することができ、障害物情報が入力される毎に解候補および全ての評価値を演算する場合に比べて、短時間で解候補を求めることができる。また第3実施形態の変形例として、第2実施形態によって求められた移動点毎の最適な解候補の組合せについて、動的干渉チェックを行ってもよい。もし動作干渉チェックでロボットと障害物とが干渉することがわかったら、その解候補の組合せを除いて再び最適な解候補の組合せを求める。このようにすることで、移動点毎の最適な解候補の組合せを短時間で求めることができる場合がある。   In addition, by storing all solution candidates and all evaluation values previously calculated in the database, the obstacle information is re-input by the operator after calculating the optimal solution candidates for each moving point or The solution candidate can be re-extracted using the joint form stored in the storage means, such as when the entry prohibition area is updated, and the solution candidate and all evaluation values are calculated each time obstacle information is input. Compared to the case, the solution candidate can be obtained in a short time. As a modification of the third embodiment, a dynamic interference check may be performed on the optimal combination of solution candidates for each moving point obtained by the second embodiment. If it is found by the motion interference check that the robot and the obstacle interfere with each other, an optimum combination of solution candidates is obtained again, excluding the combination of solution candidates. By doing in this way, the optimal combination of solution candidates for each moving point may be obtained in a short time.

上述した実施の形態におけるロボットは、手先を始点から終点に移動させるとした。これに対して、本発明の教示支援装置は、各移動点を結ぶ環状の循環移動経路に沿うように、ロボットが手先を循環移動させる場合にも適用することができる。たとえばロボットは、第1移動点p1、第2移動点p2、第3移動点p3、第4移動点p4、第1移動点p1と順に進んで、循環移動経路を一周する。また本実施の形態では、理解を容易にするために、ロボットの周囲に障害物が存在しない場合について説明する。   The robot in the embodiment described above moves the hand from the start point to the end point. On the other hand, the teaching support apparatus of the present invention can be applied to a case where the robot circulates and moves the hand along a circular circulation movement path connecting the movement points. For example, the robot proceeds in order of the first movement point p1, the second movement point p2, the third movement point p3, the fourth movement point p4, and the first movement point p1, and goes around the circulation movement path. In the present embodiment, a case where no obstacle exists around the robot will be described for easy understanding.

図22は、ロボットが手先を循環移動経路に沿って循環移動させる場合における、演算部21の動作を示すフローチャートである。また図23は、移動点毎の解候補の最適な組合せの演算手順を説明するための図である。   FIG. 22 is a flowchart showing the operation of the calculation unit 21 when the robot circulates the hand along the circulation movement route. FIG. 23 is a diagram for explaining the calculation procedure of the optimal combination of solution candidates for each moving point.

ステップh0では、評価値を求めるために必要な情報が作業者から入力部23に入力され、入力部23が必要な情報を演算部21に与えると、ステップh1に進み、動作を開始する。手先が循環移動経路を移動する場合、作業者は、上述した図3に示すステップb1〜b3で与える情報の他に、さらに複数の循環移動点p1〜p4のうち、1つを始点p1として入力し、始点p1に対して移動方向上流側の循環移動点を終点p4として入力する。   In step h0, information necessary for obtaining the evaluation value is input from the operator to the input unit 23. When the input unit 23 provides the necessary information to the calculation unit 21, the process proceeds to step h1 to start the operation. When the hand moves on the circulation movement route, the operator inputs one of the plurality of circulation movement points p1 to p4 as the start point p1 in addition to the information given in steps b1 to b3 shown in FIG. 3 described above. Then, the circulating movement point upstream in the movement direction with respect to the start point p1 is input as the end point p4.

ステップh1では、演算部21は、作業者から入力された情報に基づいて、複数の移動点のうちから、始点と終点とを選択し、ステップh2に進む。本実施の形態では、第1移動点p1を始点として選択し、第4移動点p4を終点として選択する。したがって演算部22は、始点および終点を選択する選択手段となる。ステップh2では、ステップh1で選択した始点p1を移動方向最上流の移動点とし、終点p4を移動方向最下流の移動点として、上述した図5に示すステップd1〜d10、図6に示すステップe1〜e9、図9に示すステップf1〜f7に示す動作を順に行い、図23に示すように、終点p4における各解候補c4について累積評価値T4_k_Jをそれぞれ関連付けると、ステップh3に進む。   In step h1, the calculation unit 21 selects a start point and an end point from a plurality of moving points based on information input from the operator, and proceeds to step h2. In the present embodiment, the first movement point p1 is selected as the start point, and the fourth movement point p4 is selected as the end point. Accordingly, the calculation unit 22 serves as a selection unit that selects a start point and an end point. In step h2, the start point p1 selected in step h1 is set as the most upstream moving point in the moving direction, and the end point p4 is set as the moving point on the most downstream side in the moving direction. Steps d1 to d10 shown in FIG. 5 and step e1 shown in FIG. -E9, the operations shown in steps f1 to f7 shown in FIG. 9 are sequentially performed, and as shown in FIG. 23, when the cumulative evaluation value T4_k_J is associated with each solution candidate c4 at the end point p4, the process proceeds to step h3.

ステップh3では、終点p4における解候補c4のうちで、1番目の番号が関連付けられる解候補c4_1を選択し、ステップh4に進む。ステップh4では、直前に選択した終点p4における解候補c4_kから移動方向上流側に累積評価値の最も高い組合せとなる解候補を順に辿って求められる、始点p1における解候補c1を選択し、ステップh5に進む。この場合、ステップh3で選択される始点p1の解候補c1は、終点p4の1つの解候補c4に対して、1つだけの関係となる。   In step h3, the solution candidate c4_1 associated with the first number is selected from the solution candidates c4 at the end point p4, and the process proceeds to step h4. In step h4, a solution candidate c1 at the start point p1 is selected, which is obtained by sequentially tracing a solution candidate having the highest cumulative evaluation value from the solution candidate c4_k at the end point p4 selected immediately before to the upstream side in the movement direction, and step h5 Proceed to In this case, the solution candidate c1 of the starting point p1 selected in step h3 has only one relationship with the one solution candidate c4 of the end point p4.

ステップh5では、直前に選択した終点p4における解候補c4と、直前に選択した始点p1における解候補c1との評価値を求め、ステップh6に進む。たとえば図23では、終点p4の第1解候補c4_1が示す関節形態から、始点p1の第4解候補c1_4が示す関節形態まで手先を移動するための移動時間を評価値として演算する。次に、その評価値を、終点p4の解候補c4に関連づけられる累積評価値に加算した値を、直前に選択した終点P4と始点p1との2つの解候補に関連付けられる循環累積評価値として求める。次に、求めた循環累積評価値を2つの解候補と関連させて、記憶部22に記憶し、ステップh6に進む。   In step h5, evaluation values of the solution candidate c4 at the end point p4 selected immediately before and the solution candidate c1 at the start point p1 selected immediately before are obtained, and the process proceeds to step h6. For example, in FIG. 23, the movement time for moving the hand from the joint form indicated by the first solution candidate c4_1 at the end point p4 to the joint form indicated by the fourth solution candidate c1_4 at the start point p1 is calculated as an evaluation value. Next, a value obtained by adding the evaluation value to the cumulative evaluation value associated with the solution candidate c4 of the end point p4 is obtained as a cyclic cumulative evaluation value associated with the two solution candidates of the end point P4 and the start point p1 selected immediately before. . Next, the obtained circulation cumulative evaluation value is associated with the two solution candidates, stored in the storage unit 22, and the process proceeds to step h6.

ステップh6では、終点p4における各解候補のうちから、まだ選択していない解候補が存在するか否かを判断する。まだ選択していない解候補が存在すると判断すると、ステップh9に進む。ステップh9では、まだ終点における解候補のうちから、まだ選択していない解候補を選択し、ステップh4に戻る。   In step h6, it is determined whether there is a solution candidate that has not yet been selected from among the solution candidates at the end point p4. If it is determined that there is a solution candidate that has not yet been selected, the process proceeds to step h9. In step h9, a solution candidate that has not yet been selected is selected from the solution candidates at the end point, and the process returns to step h4.

ステップh6において、終点p4における全ての解候補をすでに選択したとすると、ステップh7に進む。ステップh7では、図22に示すように、終点P4と始点p1との2つの解候補の組合せごとに、循環累積評価値がそれぞれ関連付けられている。演算部22は、終点P4と始点p1との解候補の組合せのうちで、循環累積評価値が最も高い解候補を抽出し、ステップh8に進む。   If all the solution candidates at the end point p4 have already been selected in step h6, the process proceeds to step h7. In step h7, as shown in FIG. 22, the cyclic accumulated evaluation value is associated with each combination of two solution candidates of the end point P4 and the start point p1. The calculation unit 22 extracts a solution candidate having the highest circulation accumulation evaluation value from the combination of solution candidates of the end point P4 and the start point p1, and proceeds to Step h8.

ステップh8では、ステップh7で抽出した始点p1の解候補から、ステップh7で抽出した終点p4の解候補に移動方向に進むまでに、経由点の解候補に関連する移動点毎の解候補を順次抽出し、抽出した移動点毎の解候補の組合せを、最適な解候補の組合せとして記憶する。具体的には、記憶部22に記憶される循環累積評価値に関する情報に基づいて、ステップh7で抽出した始点p1の解候補と組合わされた場合に、累積評価値の最も高くなる移動点毎の解候補を順次抽出する。   In step h8, the solution candidates for each moving point related to the solution candidate for the via point are sequentially transferred from the solution candidate for the start point p1 extracted in step h7 to the solution candidate for the end point p4 extracted in step h7. The extracted solution candidate combinations for each moving point are extracted and stored as optimum solution candidate combinations. Specifically, on the basis of the information related to the circulating cumulative evaluation value stored in the storage unit 22, when combined with the solution candidate of the starting point p1 extracted in step h7, for each moving point having the highest cumulative evaluation value. Solution candidates are extracted sequentially.

言い換えると、ステップh7で抽出した終点p4の解候補を抽出し、そして抽出した終点p4の解候補から移動方向上流側に遡って、移動点間毎に評価の最も高い累積評価値の組合せの解候補を順次辿り、辿った解候補を移動点毎に順次抽出する。このようにして移動点毎に抽出された解候補の組合せが、全体的な評価値の最も高い解候補の組合せ、すなわち最適な解候補の組合せとなる。このようにして循環移動経路における最適な解候補の組合せを抽出すると、ステップh8に進み、最適な解候補の組合せの演算動作を終了する。そして教示支援装置20は、循環移動経路における移動点毎の最適な解候補の組合せを出力表示させる。   In other words, the solution candidate of the end point p4 extracted in step h7 is extracted, and the solution of the combination of the cumulative evaluation values having the highest evaluation for each movement point from the solution candidate of the end point p4 extracted to the upstream side in the movement direction. The candidates are traced sequentially, and the traced solution candidates are extracted sequentially for each moving point. The combination of solution candidates extracted for each moving point in this way is the combination of solution candidates having the highest overall evaluation value, that is, the optimal combination of solution candidates. When the optimum combination of solution candidates in the circular movement route is extracted in this way, the process proceeds to step h8, and the calculation operation of the optimum combination of solution candidates is completed. Then, the teaching support device 20 outputs and displays an optimal combination of solution candidates for each moving point on the circular movement route.

本実施の形態では、ステップh6で、終点p4から始点p1に移動した場合の評価値を求めることで、手先を始点に位置合せした関節形態と、その状態から循環移動経路を一周して再び手先を始点に位置合せした関節形態とを同じにしたうえで、移動点毎の解候補の最適な組合せを演算することができる。これによって始点を基準として一周した後で、速やかに再び始点から移動を開始することができ、手先を循環移動経路に沿って円滑に周回させることができる。   In the present embodiment, in step h6, by obtaining an evaluation value when moving from the end point p4 to the start point p1, the joint form in which the hand is aligned with the start point, and the circulation movement route from the state, the hand moves again. It is possible to calculate an optimal combination of solution candidates for each moving point with the same joint form that is aligned with the starting point. As a result, after making one round with reference to the starting point, it is possible to quickly start moving again from the starting point, and to smoothly circulate the hand along the circulation movement path.

また上述したステップh1では、作業者が複数の移動点p1〜p4のうちから始点p1と終点p4を入力するとしたが、演算部22が始点p1と終点p4とを決定してもよい。この場合、演算部22は、移動点のうちの1つを始点として選択し、その始点の移動方向上流側の移動点を終点とする。また循環移動経路の場合についても、障害物を考慮して移動点毎の解候補の組合せを演算することが可能である。   In step h1 described above, the operator inputs the start point p1 and the end point p4 from the plurality of movement points p1 to p4. However, the calculation unit 22 may determine the start point p1 and the end point p4. In this case, the calculation unit 22 selects one of the movement points as the start point, and sets the movement point upstream of the movement direction of the start point as the end point. Also in the case of a circular movement route, it is possible to calculate a combination of solution candidates for each movement point in consideration of obstacles.

図24は、循環移動経路を考慮した演算結果と、演算前との移動時間の変化のシミュレーション結果をそれぞれ示すグラフである。図24には、作業者によって入力された初期状態の移動点毎の関節形態の組合せで、手先を順次移動させた場合の移動点間の移動時間を破線で示す。また教示支援装置20によって演算された最適な移動点毎の関節形態の組合せにおける移動点間の移動時間を実線で示す。   FIG. 24 is a graph showing a calculation result in consideration of the circulation movement route and a simulation result of a change in the movement time before the calculation. In FIG. 24, the movement time between the movement points when the hand is sequentially moved with the combination of the joint forms for each movement point in the initial state input by the operator is indicated by a broken line. In addition, the movement time between movement points in the combination of joint forms for each optimum movement point calculated by the teaching support device 20 is indicated by a solid line.

上述したように本実施の形態では、教示支援装置20は、循環移動経路を手先を移動させるにあたって、一周前と一周後の関節形態を同じにしたうえで、移動点間ごとに最大移動関節の移動量が最も小さくなるような、関節形態の組合せを出力する。出力した演算結果の関節形態の組合せを適用することによって、初期状態に比べて全体的な移動時間を短縮することができる。本実施形態では、演算結果を採用することで、初期状態に比べて、第1移動点から第28移動点に達して、再び第28移動点から第1移動点に達するまでの総合移動時間を38.6%短縮することができた。このように演算結果を用いることで、ロボットの移動時間を大幅に短縮することができ、ロボット動作時の作業効率を向上することができる。また周囲に障害物がある場合も同様にして求めることができる。   As described above, in the present embodiment, the teaching support apparatus 20 uses the same joint form before and after the first round when moving the hand on the circulation movement route, and then determines the maximum movement joint between the movement points. A combination of joint forms that outputs the smallest amount of movement is output. By applying the combination of the joint forms of the output calculation results, the overall movement time can be shortened compared to the initial state. In this embodiment, by adopting the calculation result, compared with the initial state, the total movement time from the first movement point to the 28th movement point and from the 28th movement point to the first movement point again is obtained. 38.6% could be shortened. By using the calculation result in this way, the movement time of the robot can be greatly shortened, and the work efficiency during the robot operation can be improved. It can also be obtained in the same way when there are obstacles around.

図25は、循環移動経路において解候補の組合せを求める他の手順を説明するための図である。演算部21は、各移動点のうちで任意の1つを始点として選択した場合において、終点から始点に移動した場合の累積評価値を求める。次に各移動点のうちで既に選択した移動点以外の移動点を始点として選択した場合において、終点から始点に移動した場合の累積評価値を求める。このような動作を移動点の数だけ繰返して、各移動点がそれぞれ始点として採用された場合における、終点から始点に移動した場合の循環累積評価値をそれぞれ求める。それらのなかで、最も循環累積評価値の高いものを抽出して、循環移動経路における移動点毎の解候補の組合せとする。これによってさらに最適な移動点毎の解候補の組合せを求めることができる。   FIG. 25 is a diagram for explaining another procedure for obtaining a combination of solution candidates on the circular movement route. The calculation unit 21 obtains a cumulative evaluation value when moving from the end point to the start point when any one of the movement points is selected as the start point. Next, when a moving point other than the already selected moving point is selected as the starting point among the moving points, a cumulative evaluation value is obtained when moving from the end point to the starting point. Such an operation is repeated by the number of moving points, and the accumulated cumulative evaluation values when moving from the end point to the starting point when each moving point is adopted as the starting point are obtained. Among them, the one having the highest circulation cumulative evaluation value is extracted and set as a combination of solution candidates for each moving point on the circular movement route. This makes it possible to obtain a further optimal combination of solution candidates for each moving point.

たとえば4つの移動点が存在する場合、第1〜第4移動点p1〜p4をそれぞれ始点とした場合について、図22に示す手順をそれぞれ行い、それらのなかで終点から始点まで移動するのに、最も循環累積評価値が高いものを出力する。これによってさらに最適な移動点毎の解候補の組合せを求めることができる。ここで、始点として選択される移動点と、終点として選択される移動点は、実際に手先を移動開始させる始点と、手先を移動終了する終点とにそれぞれ一致しなくてもよい。   For example, when there are four moving points, the procedure shown in FIG. 22 is performed for each of the first to fourth moving points p1 to p4 as the starting points, and the movement from the ending point to the starting point is performed among them. The one with the highest circulating cumulative evaluation value is output. This makes it possible to obtain a further optimal combination of solution candidates for each moving point. Here, the movement point selected as the start point and the movement point selected as the end point do not have to coincide with the start point where the movement of the hand actually starts and the end point where the movement of the hand ends.

また本実施の形態では、手先を循環移動経路に沿って移動させるとしたが、往路と復路との各移動点で関節形態を等しくする必要がない場合には、予め定められる移動経路を往復移動する場合も同様にして、移動点毎の解候補の最適な組合せを求めることができる。また往路と復路との各移動点で関節形態を等しくする必要がある場合には、往路または復路のいずれかの経路のうちの始点から終点までで最適な解候補の組合せを求めることによって、対応することができる。   In the present embodiment, the hand is moved along the circular movement path. However, when it is not necessary to make the joint form equal at each movement point of the forward path and the return path, the predetermined movement path is reciprocated. In the same way, an optimal combination of solution candidates for each moving point can be obtained in the same manner. Also, if it is necessary to make the joint form equal at each movement point on the forward and return paths, it is possible to cope with this by finding the optimal combination of solution candidates from the start point to the end point of either the forward path or the return path can do.

図26は、本実施の形態の教示支援装置によって関節形態が演算される多関節ロボットを示す正面図である。多関節ロボットは、7自由度を有するロボットであり、6つのリンク体3〜8と、隣接する2つのリンク体を回転自在に連結する7つの関節9〜15とを有する。各リンク体3〜8は、それぞれ連結されて直列状に延びるアーム構成体16を構成する。また多関節ロボット1は、アーム構成体16の基端部に連結される基端部に連結される基台17と、アーム構成体16の先端部に連結されるエンドエフェクタ18である手先とを有する。基台17は、壁部または床部などの固定部に予め固定される。ロボットは、基台17に設定される基準座標を有し、基準座標に従って手先を任意の位置姿勢に移動させる。   FIG. 26 is a front view showing an articulated robot whose joint form is calculated by the teaching support apparatus of the present embodiment. The articulated robot is a robot having seven degrees of freedom, and includes six link bodies 3 to 8 and seven joints 9 to 15 that rotatably connect two adjacent link bodies. Each link body 3-8 is comprised, respectively, and comprises the arm structure 16 extended in series. Further, the articulated robot 1 includes a base 17 connected to the base end connected to the base end of the arm structure 16 and a hand that is an end effector 18 connected to the tip of the arm structure 16. Have. The base 17 is fixed in advance to a fixing part such as a wall part or a floor part. The robot has reference coordinates set on the base 17 and moves the hand to an arbitrary position and orientation according to the reference coordinates.

各関節9〜15は、同軸関節および傾斜関節のうちのいずれか一方である。同軸関節は、隣接するリンク体を、その各リンク体の軸線と同軸の回転軸線まわりに回転自在に連結する。また傾斜関節は、隣接する2つのリンク体のうちの一方を、各リンク体の軸線に対して所定の角度傾斜する回転軸線まわりに円錐回転自在に連結する。傾斜関節軸の回転軸線は、連結する各リンク体の軸線に対して45度で傾斜する。   Each joint 9-15 is either one of a coaxial joint and an inclined joint. The coaxial joint connects adjacent link bodies so as to be rotatable around a rotation axis coaxial with the axis of each link body. The inclined joint connects one of two adjacent link bodies so as to be conically rotatable about a rotation axis inclined at a predetermined angle with respect to the axis of each link body. The rotation axis of the inclined joint axis is inclined at 45 degrees with respect to the axis of each link body to be connected.

各関節9〜15は、基台17から第1〜第7関節9〜15の順で並ぶ。具体的には、第1関節9、第5関節13および第7関節15は、同軸関節である。また第2関節10、第3関節11、第4関節12および第6関節14は、傾斜関節である。各関節9〜12の角度位置が移動することで、アーム構成体16は、各リンク体3〜6のそれぞれの軸線が同軸に配置されて、一直線状に延びる状態に変形可能に構成される。各リンク体一直線状に延びた状態では、第2関節10と第3関節11との回転軸線が平行となり、第3関節11と第4関節12との回転軸線が垂直となる。また本実施形態のロボット1は、第5関節13と、第6関節14と、第7関節15との回転軸線が一点となる3軸交点Pで交わる。このように直列方向一端部から直接方向他端部側に向かって連続して並ぶ3つの関節のそれぞれの回転軸線が3軸交点Pで交わる。また本実施の形態では、第1関節9が冗長関節として設定される。   The joints 9 to 15 are arranged in order from the base 17 to the first to seventh joints 9 to 15. Specifically, the first joint 9, the fifth joint 13, and the seventh joint 15 are coaxial joints. The second joint 10, the third joint 11, the fourth joint 12, and the sixth joint 14 are inclined joints. As the angular positions of the joints 9 to 12 move, the arm structure 16 is configured to be deformable into a state in which the respective axes of the link bodies 3 to 6 are arranged coaxially and extend in a straight line. In a state where each link body extends in a straight line, the rotation axes of the second joint 10 and the third joint 11 are parallel, and the rotation axes of the third joint 11 and the fourth joint 12 are vertical. Further, the robot 1 of the present embodiment intersects at a three-axis intersection point P where the rotation axes of the fifth joint 13, the sixth joint 14, and the seventh joint 15 become one point. In this way, the respective rotation axes of the three joints continuously arranged from the one end portion in the series direction toward the other end portion in the direct direction intersect at the three-axis intersection point P. In the present embodiment, the first joint 9 is set as a redundant joint.

多関節ロボット1は、各関節9〜12の角度位置を移動させることで、アーム構成体16を蛇のように変形させ、可動範囲内で、手先18を任意の位置および任意の姿勢に位置決め可能である。また多関節ロボット1は、7自由度を有するので、手先の位置および姿勢を位置決めした状態で、各関節の角度位置の取り得る組合せが無数に存在する。各リンク体3〜8は、個別に回転駆動するモータをそれぞれ内蔵する。各モータは、関節が連結する2つの部材をその回転軸線まわりに予め定める任意の角度に変位可能に構成される。これによってモータによって、関節によって連結される2つのリンク体のうち、一方のリンク体は、他方のリンク体に対して関節の回転軸線まわり回転駆動される。アーム構成体16が一直線状に延びる状態を基準状態として、各関節に連結されるリンク体の角変位量を、関節の角度位置とする。   The articulated robot 1 can move the angular positions of the joints 9 to 12 to deform the arm structure 16 like a snake and position the hand 18 at an arbitrary position and an arbitrary posture within a movable range. It is. Since the articulated robot 1 has seven degrees of freedom, there are an infinite number of possible combinations of the angular positions of the joints in a state where the position and posture of the hand are positioned. Each of the link bodies 3 to 8 incorporates a motor that is individually driven to rotate. Each motor is configured to be capable of displacing two members connected by a joint at an arbitrary angle around a rotation axis thereof. Accordingly, one of the two link bodies connected by the joint is rotated by the motor around the rotation axis of the joint with respect to the other link body. With the state where the arm structure 16 extends in a straight line as a reference state, the angular displacement amount of the link body connected to each joint is defined as the angular position of the joint.

またロボット1は、制御装置2によって制御される。制御装置2は、入力部と、中央演算処理部と、出力部とを有する。制御装置2によって関節ごとに設けられるモータが制御されることによって、各リンク体を互いに関節の角変位軸線まわりに角変位させて、ロボットの形態を変化させて、手先を目的とする位置姿勢に位置決めすることができる。ここでロボットの形態とは、ロボットの形状および姿勢などの外形的形態を意味する。   The robot 1 is controlled by the control device 2. The control device 2 has an input unit, a central processing unit, and an output unit. By controlling the motor provided for each joint by the control device 2, the link bodies are angularly displaced from each other around the angular displacement axis of the joint, and the shape of the robot is changed to bring the hand to the target position and orientation. Can be positioned. Here, the form of the robot means an external form such as the shape and posture of the robot.

本実施の形態のロボット1に対して、データ作成部30が行うステップd4の逆変換実行工程について説明する。本実施の形態のロボット1は、各関節9〜15の構造および各リンク体3〜8の長さが既知である。これによって、手先18が予め定める位置および姿勢に位置決めされるときには、3軸交点Pの3次元位置を一意的に決定することができる。この場合、第1〜第4関節9〜12の角度位置を変数として、3軸交点PのX座標位置、Y座標位置およびZ座標位置をそれぞれ求めるための3つの順変換関係式と、冗長関節である第1関節9の角度位置と、3軸交点Pの3次元位置とに基づくことによって、3軸交点Pを3次元位置に位置決め配置可能な、第1〜第4関節9〜12を解析的に決定することができる。   The reverse conversion execution process of step d4 which the data preparation part 30 performs with respect to the robot 1 of this Embodiment is demonstrated. In the robot 1 of the present embodiment, the structures of the joints 9 to 15 and the lengths of the link bodies 3 to 8 are known. Thereby, when the hand 18 is positioned at a predetermined position and posture, the three-dimensional position of the three-axis intersection P can be uniquely determined. In this case, using the angular positions of the first to fourth joints 9 to 12 as variables, three forward conversion relational expressions for obtaining the X coordinate position, the Y coordinate position, and the Z coordinate position of the three-axis intersection P, and redundant joints, respectively Based on the angular position of the first joint 9 and the three-dimensional position of the three-axis intersection P, the first to fourth joints 9 to 12 that can position and arrange the three-axis intersection P at the three-dimensional position are analyzed. Can be determined.

具体的には、第1〜第4関節9〜12の角度位置を変数とする、3軸交点Pの3次元位置を求めるための3つの連立方程式に、冗長関節である第1関節9の角度位置と、3軸交点Pの3次元位置とを代入することで、3つの未知数を有する3元連立方程式を導くことができ、3元連立方程式を解くことで、3軸交点Pを3次元位置に位置決め配置可能な、第1〜第4関節9〜12を解析的に決定することができる。また上述した3元連立方程式を変形させることで、第1関節9の角度位置と、3軸交点Pの3次元位置とを変数として、第2〜第4関節10〜12の角度位置を求める関係式を導くことができる。   Specifically, the angle of the first joint 9 that is a redundant joint is added to three simultaneous equations for obtaining the three-dimensional position of the three-axis intersection P, with the angular positions of the first to fourth joints 9 to 12 as variables. By substituting the position and the three-dimensional position of the three-axis intersection P, a three-way simultaneous equation having three unknowns can be derived, and by solving the three-way simultaneous equation, the three-axis intersection P is moved to the three-dimensional position. The first to fourth joints 9 to 12 that can be positioned and arranged can be analytically determined. Moreover, the relationship which calculates | requires the angular position of the 2nd-4th joints 10-12 by making the angular position of the 1st joint 9 and the three-dimensional position of the 3-axis intersection P into a variable by changing the ternary simultaneous equation mentioned above. An expression can be derived.

また第2〜第4関節10〜12の角度位置のいずれかの解を求めることができない場合、ロボットの可動限界を超えており、機構的解が存在しないことを意味する。またロボットの可動余裕を考慮して、可動限界に対して予め定める所定角度、手前に設定される制限角度位置から可動限界側に角度位置が位置する場合にも機構的解が存在しないと判断してもよい。   Further, when a solution for any of the angular positions of the second to fourth joints 10 to 12 cannot be obtained, it means that the robot's movable limit is exceeded and no mechanical solution exists. Also, considering the robot's movement margin, it is determined that there is no mechanistic solution even when the angular position is located on the movable limit side from a predetermined angle that is set in advance with respect to the movable limit, and the limited angular position set in front. May be.

第2〜第4関節10〜12の角度位置が、可動限界に達していないと判断されると、既に決定した第1〜第4関節9〜12の角度位置と、手先の位置および姿勢とに基づくことによって、逆変換を行うことによって、第5〜第7関節13〜15の角度位置を解析的に決定することができる。具体的には、第1〜第4関節9〜12の角度位置から、第4リンク体6の姿勢を決定し、決定した姿勢に基づいて、手先が予め定める位置および姿勢となる場合の第5〜第7関節13〜15の角度位置を一意に決定することができる。   If it is determined that the angular positions of the second to fourth joints 10 to 12 have not reached the movable limit, the determined angular positions of the first to fourth joints 9 to 12 and the positions and postures of the hands are determined. Based on this, the angular positions of the fifth to seventh joints 13 to 15 can be analytically determined by performing inverse transformation. Specifically, the posture of the fourth link body 6 is determined from the angular positions of the first to fourth joints 9 to 12, and the fifth case where the hand has a predetermined position and posture based on the determined posture. -The angular positions of the seventh joints 13-15 can be uniquely determined.

したがって上述したデータ作成部30は、(1)手先の位置姿勢から3軸交点Pの3次元位置を求めることが可能な方程式を表わす計算プログラムと、(2)冗長関節の角度位置と、3軸交点Pの3次元座標とに基づいて、第1〜第4関節9〜12の角度位置を求めることが可能な方程式を表わす計算プログラムと、(3)第1〜第4関節9〜12の角度位置の解が存在するか否かを判断する計算プログラムと、(4)第1〜第4関節9〜12の角度位置と手先の位置姿勢とから、第5〜第7関節13〜15の角度位置を求めることが可能な方程式を表わす計算プログラムとを、それぞれ記憶する。データ作成部30は、上述した各計算プログラム(1)〜(4)を順に実行することによって、移動点における手先の位置姿勢と、第1関節9の角度位置とを選択した状態で、第1〜第7関節9〜15のそれぞれの角度位置を演算することができる。   Therefore, the data creation unit 30 described above includes (1) a calculation program representing an equation capable of obtaining the three-dimensional position of the three-axis intersection P from the position and orientation of the hand, (2) the angular position of the redundant joint, and three axes A calculation program representing an equation capable of obtaining the angular positions of the first to fourth joints 9 to 12 based on the three-dimensional coordinates of the intersection point P; and (3) the angles of the first to fourth joints 9 to 12. A calculation program for determining whether or not a position solution exists; and (4) the angles of the fifth to seventh joints 13 to 15 based on the angular positions of the first to fourth joints 9 to 12 and the position and orientation of the hand. A calculation program representing an equation capable of obtaining the position is stored. The data creation unit 30 executes the calculation programs (1) to (4) described above in order to select the first position and orientation of the hand at the moving point and the angular position of the first joint 9 in the first state. The respective angular positions of the seventh joints 9 to 15 can be calculated.

このように、本実施の形態では、第1関節〜第4関節のうちのいずれかを冗長関節として選択することで、解候補を解析的に求めることができる。これに対して、第5〜第7関節のうちの1つを冗長関節として選択すると、解候補の解析解を求めることができない。また第1〜第3関節部で3軸交点Pを構成した場合には、第4〜第7関節のうちのいずれかを冗長関節として選択することで、解候補を解析的に求めることができる。   Thus, in this Embodiment, a solution candidate can be analytically calculated | required by selecting any one of a 1st joint-a 4th joint as a redundant joint. On the other hand, when one of the fifth to seventh joints is selected as a redundant joint, an analytical solution of a solution candidate cannot be obtained. In addition, when the three-axis intersection P is configured by the first to third joint portions, the solution candidate can be analytically obtained by selecting any of the fourth to seventh joints as the redundant joint. .

すなわち、リンク体を介して互いに角変位可能に連結されて直列に並ぶ7つの関節を含み、7つの関節9〜15のうちで直列方向一端部から直列方向他端部に向かって並ぶ3つの関節の回転軸線が一点で交差する3軸交点を形成する3つの交点形成関節を有する7自由度の多関節ロボットにおいて、アーム構成体の一端部に対する他端部の位置および姿勢が固定条件として入力される場合に、3つの交点形成関節以外となる4つの注目する関節のうち1つが、冗長関節として入力されることで、形態変更動作において各関節9〜15の角度を解析的に求めることができる。   That is, it includes seven joints that are connected to each other via a link body so as to be angularly displaceable and arranged in series, and among the seven joints 9 to 15, three joints arranged from one end in the series direction toward the other end in the series direction In a seven-degree-of-freedom multi-joint robot having three intersection-forming joints that form a three-axis intersection where the rotation axes of the arms intersect at one point, the position and posture of the other end relative to one end of the arm structure are input as fixed conditions When one of the four joints of interest other than the three intersection forming joints is input as a redundant joint, the angles of the joints 9 to 15 can be analytically obtained in the form changing operation. .

たとえば本実施の形態では、(1)式に、第1関節9の角度位置q1を代入することで、第4関節12の角度位置q4を求めることができる。   For example, in the present embodiment, the angular position q4 of the fourth joint 12 can be obtained by substituting the angular position q1 of the first joint 9 into the expression (1).

Figure 2007203380
Figure 2007203380

(1)式において第1〜第4関節9〜12の角度位置をそれぞれq1〜q4とする。また第1〜第3リンク体3〜5の長さをそれぞれL1〜L3とし、第4関節12から3軸交点Pまでの距離をL4とする。またarccosは、逆余弦関数(アークコサイン関数)を意味する。またarccosに付されるプラスマイナスの符号を離散形態符号と称する。   In Expression (1), the angular positions of the first to fourth joints 9 to 12 are q1 to q4, respectively. The lengths of the first to third link bodies 3 to 5 are L1 to L3, respectively, and the distance from the fourth joint 12 to the triaxial intersection point P is L4. Arccos means an inverse cosine function (arc cosine function). A plus or minus code attached to arccos is called a discrete form code.

第4関節12の角度位置q4が1つしかない場合、第4関節の角度位置は、可動限界である特異点に位置する。またアークコサインの変数の絶対値が1を超える場合、解が存在せず、可動限界を超えて、機構解が存在しないことを判断することができる。第4関節12の角度位置が求まると、第3関節11の角度位置と、第2関節10の角度位置とを順次求めることができ、さらに第5〜第7関節12〜15の角度位置を求めることができる。また第3関節の角度位置、第6関節の角度位置を求める方程式にも、離散形態符号がそれぞれ付与されるので、多関節ロボットは、第1関節の角度位置が1つに決定された場合に、8通りの第2〜第7関節の角度位置の組合せが存在する。データ作成部30は、図5における離散形態を選択するときに、この離散形態符号の正負のいずれかが選択されることによって、1つの冗長関節の角度位置ごとに、8通りの組合せのうちから1つを求めることができる。   When there is only one angular position q4 of the fourth joint 12, the angular position of the fourth joint is located at a singular point that is the movable limit. When the absolute value of the arc cosine variable exceeds 1, it can be determined that there is no solution, the movable limit is exceeded, and there is no mechanism solution. When the angular position of the fourth joint 12 is obtained, the angular position of the third joint 11 and the angular position of the second joint 10 can be obtained sequentially, and further the angular positions of the fifth to seventh joints 12 to 15 are obtained. be able to. In addition, since discrete form codes are also given to the equations for obtaining the angular position of the third joint and the angular position of the sixth joint, respectively, the multi-joint robot is in the case where the angular position of the first joint is determined to be one. There are eight combinations of angular positions of the second to seventh joints. When selecting the discrete form in FIG. 5, the data creation unit 30 selects one of the positive and negative of the discrete form code, thereby selecting one of the eight combinations for each angular position of one redundant joint. You can ask for one.

また第1関節9と第2関節10との間の距離をL1とし、第2関節10と第3関節11との間の距離をL2とし、第3関節12と第4関節13との間の距離をL3とし、第1関節9から第4関節13との間の距離をLwとすると、Lw+L2>L1+L3、Lw>L2、L1>L3、Lw−L2<L3−L1である場合には、ロボットは、回転揺動状態となる。回転揺動状態では、第1関節を冗長関節として、その角度範囲を変化させたとても、第1関節の角度位置が可動限界に達してしまい、ロボットが取り得る角度位置の全てを計算できない場合がある。たとえば第1関節9と第2関節10とのうちのいずれか一方と、第3関節11と第4関節12とのうちのいずれか一方との2つを冗長関節として選択することで、ロボットが回転揺動状態となったとしても、ロボットが取り得る全ての範囲を計算することができる。ロボットは、その変形形態毎によってLwが変化するので、変形形態によっては、回転揺動状態に陥る可能性がある。   Also, the distance between the first joint 9 and the second joint 10 is L1, the distance between the second joint 10 and the third joint 11 is L2, and the distance between the third joint 12 and the fourth joint 13 is When the distance is L3 and the distance between the first joint 9 and the fourth joint 13 is Lw, if Lw + L2> L1 + L3, Lw> L2, L1> L3, Lw-L2 <L3-L1, Is in a rotating and swinging state. In the rotating and swinging state, the angle range of the first joint is changed with the first joint as a redundant joint, and the angular position of the first joint reaches the movable limit, and it is not possible to calculate all the angular positions that the robot can take. is there. For example, by selecting two of the first joint 9 and the second joint 10 and one of the third joint 11 and the fourth joint 12 as redundant joints, the robot can Even if the rotation / swing state is reached, the entire range that the robot can take can be calculated. Since Lw changes with each deformation | transformation form, the robot may fall into a rotation rocking | fluctuation state depending on a deformation | transformation form.

たとえばデータ作成部30は、第1関節9と第2関節10とのうちのいずれか一方を選択する場合と、第3関節11と第4関節12とのうちのいずれか一方とを選択する場合の2通りで、図5に示す動作を行うことによって、変形形態が回転揺動状態に陥ったとしても、求められる解候補の数を増やすことができ、より最適な解候補の組合せを求めることができる。   For example, the data creation unit 30 selects one of the first joint 9 and the second joint 10 and selects one of the third joint 11 and the fourth joint 12. By performing the operation shown in FIG. 5, the number of solution candidates that can be obtained can be increased even when the deformation form falls into a rotational swing state, and a more optimal solution candidate combination can be obtained. Can do.

このように注目する複数(S1)の関節のうちで、冗長関節の数(S2)を除く残余の関節の数(S1−S2)が、ロボットに設定される移動対象部位を、予め定める位置および姿勢の少なくともいずれかを含む拘束条件に従って拘束される数(T)と一致するように、注目する複数の関節の少なくとも1つが冗長関節として選択することで、冗長関節の角度と、拘束条件とに基づいて、複数の関節の角角度を変数として設定部分の位置または姿勢を求めるための関係式を解くことで、拘束条件で移動対象部位を拘束した場合の各関節の角度位置を解析的に求めることができる。解析的に解候補を求めることで、入力された移動点に対して手先がずれることが防がれ、正確に手先を移動経路にそって移動させることができる。   Among the plurality of (S1) joints to be noticed in this way, the number of remaining joints (S1-S2) excluding the number of redundant joints (S2) determines the position to be moved set in the robot as a predetermined position and By selecting at least one of a plurality of joints of interest as a redundant joint so as to coincide with the number (T) constrained according to the constraint including at least one of the postures, the angle of the redundant joint and the constraint are determined. Based on the angular angle of multiple joints as a variable, the relational expression for determining the position or orientation of the set part is solved, and the angular position of each joint when the movement target part is constrained by the constraint condition is analytically obtained. be able to. By finding the solution candidate analytically, the hand is prevented from being shifted with respect to the input moving point, and the hand can be accurately moved along the moving path.

また上述した実施形態では、解析的に逆変換を行う場合について説明したが、ステップd4の逆変換実行動作を行うにあたって、近似解を用いてもよい。この場合、データ作成部30は、手先の移動量と、各関節の角度との関係を示すヤコビ行列に基づいて、冗長関節である第1関節の角度位置を変化させた場合に、手先がほぼ固定位置となるような残余の関節の角度位置を求めて、解候補を求めてもよい。   In the above-described embodiment, the case of performing the inverse transformation analytically has been described. However, an approximate solution may be used when performing the inverse transformation execution operation in step d4. In this case, when the data creation unit 30 changes the angular position of the first joint, which is a redundant joint, based on the Jacobian matrix indicating the relationship between the movement amount of the hand and the angle of each joint, the hand is almost A candidate solution may be obtained by obtaining the angular positions of the remaining joints to be fixed positions.

図27は、他の形態のロボットを示す図である。上述した各実施形態の教示支援装置20は、傾斜関節を有するロボット以外における移動点毎の関節形態の最適な組合せを求めることも可能である。たとえば図27に示すように、垂直関節と同軸関節とで構成され、傾斜関節を有しない6軸多関節ロボット100とを予め定める走行軸に沿って動作させる走行装置101とを含む7軸ロボットシステムであっても同様に、移動点毎の最適な関節形態の組合せを求めることができる。また本実施形態では、一軸冗長ロボットについて説明したが、2軸以上の冗長性を有するロボットであっても、適用可能である。この場合、複数の冗長関節の角度位置が選択されることによって、解候補を求めることができる。   FIG. 27 is a diagram showing another type of robot. The teaching support apparatus 20 of each embodiment described above can also obtain an optimum combination of joint forms for each moving point other than a robot having a tilt joint. For example, as shown in FIG. 27, a seven-axis robot system including a traveling device 101 configured to operate along a predetermined traveling axis, a six-axis articulated robot 100 that includes a vertical joint and a coaxial joint and does not have an inclined joint. Even so, the optimal combination of joint forms for each moving point can be obtained. In the present embodiment, a single-axis redundant robot has been described. However, a robot having two or more axes of redundancy is applicable. In this case, solution candidates can be obtained by selecting the angular positions of a plurality of redundant joints.

そのほか垂直多関節型の6軸ロボットにも適用可能である。たとえば手先の3次元位置が拘束条件として設定され、手先の姿勢に制限がない場合などで、手先を予め定める数の自由度で拘束した場合に、ロボットの取り得る関節形態が複数ある場合などに適用可能である。   In addition, it can also be applied to a vertical articulated 6-axis robot. For example, when the 3D position of the hand is set as a restraint condition and there is no restriction on the hand position, and when the hand is restrained with a predetermined number of degrees of freedom, there are multiple joint forms that the robot can take. Applicable.

このように手先の3次元位置と3次元姿勢のうちのいずれか1つが拘束されないような場合のほか、ロボットに複数の離散形態が存在する場合には、手先の3次元位置および3次元姿勢が全て拘束されても、解候補が複数存在することになるので、広い意味で本発明を適用することができる。たとえば垂直多関節6軸ロボットには、8種類の離散形態があるので、そのロボットの位置および姿勢が拘束されても、本発明を適用することで、1つの移動点あたり8とおりの解候補のなかから最適な解候補の組合せを演算することができる。したがって7つ以上の関節を有するロボットについて特に効果が大きいが、6つ以下の関節を有するロボットであっても、同様の効果を得ることができる。   As described above, when one of the three-dimensional position and the three-dimensional posture of the hand is not constrained, or when the robot has a plurality of discrete forms, the three-dimensional position and the three-dimensional posture of the hand are determined. Even if all are constrained, there are a plurality of solution candidates, so the present invention can be applied in a broad sense. For example, since a vertical articulated 6-axis robot has 8 types of discrete forms, even if the position and posture of the robot are restricted, by applying the present invention, 8 solution candidates can be obtained per moving point. Among them, the optimal combination of solution candidates can be calculated. Therefore, the effect is particularly great for a robot having seven or more joints, but a similar effect can be obtained even with a robot having six or less joints.

以上のような各本実施の形態は、発明の例示に過ぎず、発明の範囲内において構成を変更することができる。たとえば教示支援装置20は、オフラインティーチング、すなわちロボット1を可動させずに、移動点毎の解候補の組合せに従って動作した場合の関節形態の変化を表示装置に表示するとしたが、オンラインティーチングに用いられてもよい。すなわち教示支援装置20の出力結果を、ロボット1の制御装置に入力してもよい。またロボット制御装置に、教示支援装置20の機能が盛り込まれていてもよい。これによってロボットを、教示支援装置によって決定された解候補の組合せに従って動作させることができる。実際に教示支援装置によって演算された演算結果でロボットを動作させることによって、作業者は、移動点毎の解候補の組合せの合否を判断することができる。また演算手順は一例であって、演算可能であれば適宜手順を変更してもよい。   Each of the embodiments as described above is merely an example of the invention, and the configuration can be changed within the scope of the invention. For example, the teaching support apparatus 20 displays on the display device a change in joint form when the robot 1 is operated according to a combination of solution candidates for each moving point without moving the robot 1, but is used for online teaching. May be. That is, the output result of the teaching support device 20 may be input to the control device of the robot 1. Further, the function of the teaching support device 20 may be incorporated in the robot control device. As a result, the robot can be operated according to a combination of solution candidates determined by the teaching support apparatus. By operating the robot with the calculation result actually calculated by the teaching support apparatus, the operator can determine whether the combination of solution candidates for each moving point is acceptable. The calculation procedure is an example, and the procedure may be changed as appropriate as long as the calculation is possible.

また本実施の形態では、解候補の組合せを評価するにあたって、最大移動関節の移動量δmaxから求められる移動時間(δmax/v)を評価基準としたが、2つの解候補に基づいた他の計算式を評価基準としてもよい。たとえば2つの解候補における各関節の角度位置の偏差(δ1〜δ7)にそれぞれ速度に関する定数Kiを乗算した値のうちで最大となる値(δmax=max|K1・δ1,K2・δ2,…K6・δ6,K7・δ7|)を評価基準としてもよい。ここで速度に関する定数Kiは、各関節に設定される最大速度および加減速度を考慮した値である。これによってより正確な移動時間を評価基準とすることができる。また各関節部のうちで注目する関節の角度位置の偏差を評価基準としてもよい。   In this embodiment, when evaluating a combination of solution candidates, the movement time (δmax / v) obtained from the movement amount δmax of the maximum moving joint is used as an evaluation criterion, but other calculations based on two solution candidates are performed. An expression may be used as an evaluation criterion. For example, the maximum value (δmax = max | K1, δ1, K2, δ2,... K6) among the values obtained by multiplying the deviations (δ1 to δ7) of the angular positions of the joints in the two solution candidates by the constant Ki relating to the speed, respectively. · Δ6, K7 · δ7 |) may be used as an evaluation criterion. Here, the constant Ki relating to the speed is a value in consideration of the maximum speed and acceleration / deceleration set for each joint. As a result, a more accurate travel time can be used as an evaluation criterion. Further, the deviation of the angular position of the joint of interest in each joint may be used as the evaluation criterion.

また評価基準は、ヤコビ行列Jを評価基準として用いてもよい。本実施の形態では、ヤコビ行列Jは、移動方向上流側の移動点の1つの解候補から移動方向下流側の1つの解候補へ関節形態を変化する場合に、各関節の角度偏差を手先の3次元位置変化に変換する行列である。この場合、評価基準として、2つの解候補の組合せからそれぞれ求められる各ヤコビ行列が最大となるような形態を選ぶ。このように評価基準を決定することによって、手先をどの方向に対しても滑らかな動きが実現できるようにすることができる。   As the evaluation criterion, the Jacobian matrix J may be used as the evaluation criterion. In the present embodiment, when the Jacobian matrix J changes the joint form from one solution candidate at the moving point upstream in the moving direction to one solution candidate at the downstream in the moving direction, the angle deviation of each joint is determined on the hand side. It is a matrix that converts to a three-dimensional position change. In this case, as an evaluation criterion, a form is selected so that each Jacobian matrix obtained from each combination of two solution candidates is maximized. By determining the evaluation criteria in this way, it is possible to realize a smooth movement of the hand in any direction.

本実施の形態では、ヤコビ行列Jは、第1〜第7関節Jt1〜Jt7の角度位置変化δq1〜δq7を代入することで、手先の3次元位置変化(δPx,δPy,δPz)を演算する変換行列であって、次式によって表わされる。
δP=J・δQ
δP=(δpx,δpy,δpz)
δQ=(δq1,δq2,δq3,δq4,δq5,δq6,δq7)
ここで、δpxは手先のX座標位置変化、δpyは手先のY座標位置変化、δpzは手先のZ座標位置変化を示す。この場合、ヤコビ行列Jは、7行×3列の行列であって、上述した(1)式などの順変換式に基づいて求めることができる。ヤコビ行列の大きさは、ヤコビ行列Jと、ヤコビ行列Jを転置した行列Jとを掛算した値の絶対値を求めることによって求められる。このようにしてヤコビ行列の大きさを求め、その大きさが最大となる2つの解候補の組合せを評価が最も高いものとする。
In the present embodiment, the Jacobian matrix J converts the three-dimensional position changes (δPx, δPy, δPz) of the hand by substituting the angular position changes δq1 to δq7 of the first to seventh joints Jt1 to Jt7. It is a matrix and is represented by the following equation.
δP = J · δQ
δP = (δpx, δpy, δpz) T
δQ = (δq1, δq2, δq3, δq4, δq5, δq6, δq7) T
Here, δpx represents a change in the X coordinate position of the hand, δpy represents a change in the Y coordinate position of the hand, and δpz represents a change in the Z coordinate position of the hand. In this case, the Jacobian matrix J is a 7-row × 3-column matrix, and can be obtained based on a forward conversion formula such as the above-described formula (1). The size of the Jacobian matrix is determined by obtaining the Jacobian matrix J, the absolute value of a value obtained by multiplying a matrix J T was transposed Jacobian matrix J. In this way, the size of the Jacobian matrix is obtained, and the combination of two solution candidates having the maximum size is regarded as having the highest evaluation.

またヤコビ行列Jは、第1〜第7関節Jt1〜Jt7の角度位置変化δq1〜δq7を代入することで、手先の3次元位置変化(δPx,δPy,δPz)および3次元姿勢(δPrx,δPry,δPrz)を演算する変換行列であってもよい。このようにヤコビ行列もまた、上述した演算式に限定されず適宜選択可能である。   Further, the Jacobian matrix J substitutes the angular position changes δq1 to δq7 of the first to seventh joints Jt1 to Jt7, so that the three-dimensional position changes (δPx, δPy, δPz) and the three-dimensional postures (δPrx, δPry, It may be a transformation matrix for calculating (δPrz). As described above, the Jacobian matrix is also not limited to the above-described arithmetic expression and can be appropriately selected.

また評価基準は、2つの解候補に基づいて決定されるならば、移動時間に関する値以外であってもよい。たとえば2つの解候補における各関節の角度位置の偏差(δ1〜δ7)を合計した合計偏差Σδiを評価基準とし、最も小さくなる組合せを探索してもよい。この合計偏差Σδiが小さいと、ロボットを動作させる動作量が全体的に小さくなるので、手先を移動させるのに、電力消費量の最も少ない移動点毎の解候補の組合せを求めることができる。また各動作偏差のうちで、手先に比べて基台側の関節については、大きい重みをつけたものΣXi・δiを合計することによって、より現実的に電力消費量の最も少ない組合せを求めることができる。   The evaluation criterion may be other than the value related to the travel time as long as it is determined based on two solution candidates. For example, the smallest combination may be searched by using the total deviation Σδi obtained by summing the deviations (δ1 to δ7) of the angular positions of the joints in two solution candidates as an evaluation criterion. If the total deviation Σδi is small, the amount of movement for operating the robot is reduced as a whole, so that a combination of solution candidates for each moving point with the least power consumption can be obtained to move the hand. In addition, among the motion deviations, for the joint on the base side compared to the hand, the combination with the least weight can be obtained more realistically by summing ΣXi · δi with higher weight. it can.

また移動時間、ヤコビ行列および電力消費量のほか、ロボットの精度、ロボットと障害物との余裕度などを評価基準としてもよい。このように本発明の評価基準は、2つの移動点の解候補を互いに用いて求められるものであれば、移動時間に限定されない。たとえば基台側の関節をあまり動かしたくないという評価基準、基台側の関節をなるべく動かしたいという評価基準などであってもよい。   In addition to the travel time, Jacobian matrix, and power consumption, the accuracy of the robot, the margin between the robot and the obstacle, and the like may be used as evaluation criteria. As described above, the evaluation criterion of the present invention is not limited to the movement time as long as the solution candidates of two movement points are obtained by using each other. For example, it may be an evaluation standard that does not want to move the joint on the base side too much, or an evaluation standard that wants to move the joint on the base side as much as possible.

本発明の第1実施形態であるロボットの教示支援装置20を示すブロック図である。1 is a block diagram showing a robot teaching support apparatus 20 according to a first embodiment of the present invention. FIG. 教示支援装置20の動作の全体的な流れを示すフローチャートである。4 is a flowchart showing an overall flow of operation of the teaching support apparatus 20. 図2に示すステップa1における入力部23の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the input part 23 in step a1 shown in FIG. 図2に示すステップa2におけるデータ作成部30の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the data preparation part 30 in step a2 shown in FIG. ステップc2において、データ作成部30が全ての解候補を求める手順を示すフローチャートである。It is a flowchart which shows the procedure in which the data preparation part 30 calculates | requires all the solution candidates in step c2. ステップc3において、データ作成部30が評価値を演算する手順を示すフローチャートである。It is a flowchart which shows the procedure in which the data preparation part 30 calculates an evaluation value in step c3. データ作成部30によって求められるそれぞれの評価値を説明するための図である。It is a figure for demonstrating each evaluation value calculated | required by the data preparation part. データ作成部30によって記憶部22に作成された移動時間t(i+1)_k_jのデータ構造を説明するための図である。It is a figure for demonstrating the data structure of the movement time t (i + 1) _k_j produced in the memory | storage part 22 by the data preparation part 30. FIG. ステップa3において、データ探索部31が最適な解候補の組合せを演算する手順を示すフローチャートである。It is a flowchart which shows the procedure in which the data search part 31 calculates the optimal combination of a solution candidate in step a3. データ探索部31によって求められる全体最適な解候補の組合せを説明するための図である。It is a figure for demonstrating the combination of the global optimal solution candidate calculated | required by the data search part. データ探索部31によって記憶部22に作成された累積評価値T(i+1)_k_Jのデータ構造を説明するための図である。It is a figure for demonstrating the data structure of the accumulation evaluation value T (i + 1) _k_J produced in the memory | storage part 22 by the data search part 31. FIG. 演算結果と演算前との移動時間の変化のシミュレーション結果をそれぞれ示すグラフである。It is a graph which respectively shows the simulation result of the change of the movement time before a calculation result and a calculation. 図12に関連した演算結果によるロボットの関節形態の変化を示す図である。It is a figure which shows the change of the joint form of the robot by the calculation result relevant to FIG. 図12に関連した初期状態でのロボットの関節形態変化を示す図である。It is a figure which shows the joint form change of the robot in the initial state relevant to FIG. 本発明の第2実施形態であるロボットの教示支援装置20での入力部23の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the input part 23 in the teaching assistance apparatus 20 of the robot which is 2nd Embodiment of this invention. 第2実施形態でのステップc2において、データ作成部30が全ての解候補を求める手順を示すフローチャートである。It is a flowchart which shows the procedure in which the data preparation part 30 calculates | requires all the solution candidates in step c2 in 2nd Embodiment. 干渉チェックの方法を説明するための図である。It is a figure for demonstrating the method of an interference check. 障害物を回避する場合における、演算結果と演算前との移動時間の変化のシミュレーション結果をそれぞれ示すグラフである。It is a graph which respectively shows the simulation result of the change of the movement time between a calculation result and a calculation in the case of avoiding an obstacle. 図18に関連した障害物を回避する演算結果によるロボットの関節形態の変化を示す図である。It is a figure which shows the change of the joint form of the robot by the calculation result which avoids the obstacle relevant to FIG. 図18に関連した障害物を回避する初期状態でのロボットの関節形態変化を示す図である。It is a figure which shows the joint form change of the robot in the initial state which avoids the obstruction relevant to FIG.

第3実施形態での、ステップa3において、データ探索部31が最適な解候補の組合せを演算する手順を示すフローチャートである。It is a flowchart which shows the procedure in which the data search part 31 calculates the optimal combination of a solution candidate in step a3 in 3rd Embodiment. ロボットが手先を循環移動経路に沿って循環移動させる場合における、演算部21の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the calculating part 21 when a robot circulates and moves a hand along a circulation movement path | route. 移動点毎の解候補の最適な組合せの演算手順を説明するための図である。It is a figure for demonstrating the calculation procedure of the optimal combination of the solution candidate for every moving point. 循環移動経路を考慮した演算結果と、演算前との移動時間の変化のシミュレーション結果をそれぞれ示すグラフである。It is a graph which respectively shows the calculation result in consideration of the cyclic | annular movement path | route, and the simulation result of the change of the movement time before a calculation. 循環移動経路において解候補の組合せを求める他の手順を説明するための図である。It is a figure for demonstrating the other procedure which calculates | requires the combination of a solution candidate in a cyclic | annular movement path | route. 本実施の形態の教示支援装置によって関節形態が演算される多関節ロボットを示す正面図である。It is a front view which shows the articulated robot by which a joint form is calculated by the teaching assistance apparatus of this Embodiment. 他の形態のロボットを示す図である。It is a figure which shows the robot of another form. 1つの冗長関節を有するロボットにおいて、ロボットの手先位置を2つの移動点間を移動させるにあたって、ロボットの各関節の角度位置を変化させた場合のロボット移動時間の変化を示すグラフである。6 is a graph showing changes in the robot movement time when the angular position of each joint of the robot is changed when the hand position of the robot is moved between two movement points in a robot having one redundant joint.

符号の説明Explanation of symbols

1 多関節ロボット
20 教示支援装置
21 演算部
22 記憶部
23 入力部
24 出力部
30 データ作成部
31 データ探索部
32 移動点情報記憶部
33 解候補記憶部
34 評価値記憶部
35 ロボット型式記憶部
DESCRIPTION OF SYMBOLS 1 Articulated robot 20 Teaching support apparatus 21 Computation part 22 Storage part 23 Input part 24 Output part 30 Data preparation part 31 Data search part 32 Moving point information storage part 33 Solution candidate memory | storage part 34 Evaluation value memory | storage part 35 Robot type | mold memory | storage part

Claims (7)

(a)複数の関節を有する多関節ロボットの予め定める移動対象部位を、複数の移動点を順次通過するように移動させるにあたって、移動点を移動対象部位がそれぞれ通過するときに各関節の角度位置で表される関節形態の、移動点毎の組合せを求めてロボット教示作業を支援する教示支援装置であって、
(b)各移動点を特定するための移動点情報を入力する入力手段と、
(c)ロボットの移動対象部位を移動点に配置可能な関節形態を解候補とし、移動点毎に、全ての解候補をそれぞれ演算する解候補演算手段と、
(d)移動点毎にそれぞれ選択される解候補の組合せを評価する評価演算手段であって、
(d1)通過順が最初の移動点から通過順が最後の移動点に向かう移動方向、および通過順が最後の移動点から通過順が最初の移動点に向かう移動方向と反対の方向のいずれか一方を評価方向とし、
(d2)最上流の移動点における各解候補のうちの1つと、評価方向最上流の移動点の評価方向下流側に隣接する2つめの移動点における各解候補のうちの1つとのそれぞれの組合せについて、予め定める評価基準に従って評価値を求め、2つめの移動点における解候補毎に、評価値が最も高い組合せをそれぞれ抽出して、2つめの移動点における各解候補毎に、2つめの移動点における各解候補のうちの1つと、それに関連して抽出した最上流の移動点における1つの解候補との組合せをそれぞれ決定し、
(d3)2つめの移動点の評価方向下流側に隣接する3つめの移動点から評価方向最下流の移動点まで、評価方向に順次、各移動点における各解候補毎に、注目する移動点における各解候補のうちの1つと、注目する移動点に対して評価方向上流側に隣接する移動点における各解候補のうちの1つとのそれぞれの組合せについて、前記評価基準に従って評価値を求め、それら2つの解候補の組合せの評価値と、評価値を求めた2つの解候補のうちで評価方向上流側の移動点における解候補について既に決定しているさらに評価方向上流側のそれぞれの移動点毎の各解候補に関する評価値の合計値とを合わせた累積評価値を求め、注目する移動点における解候補毎に、累積評価値が最も高い組合せを抽出して、注目する移動点における解候補毎に、注目する移動点における各解候補のうちの1つと、それに関連して抽出した評価方向上流側に隣接する移動点における1つの解候補との組合せを決定し、
(d4)評価方向の最下流の移動点における各解候補のうち、累積評価値が最も高い解候補を抽出し、この解候補に関連して既に決定される移動点毎の各解候補の組合せを、移動点毎の関節形態の組合せとして求める評価演算手段と、
(e)評価演算手段による演算結果を出力する出力手段とを含むことを特徴とするロボットの教示支援装置。
(A) When moving a predetermined movement target part of an articulated robot having a plurality of joints so as to sequentially pass through a plurality of movement points, the angular position of each joint when the movement target part passes through the movement points. A teaching support device for supporting robot teaching work by seeking a combination of joint forms represented by
(B) input means for inputting moving point information for specifying each moving point;
(C) a solution candidate calculation means for calculating each solution candidate for each movement point, with a joint form that can place the movement target part of the robot as a movement point as a solution candidate;
(D) Evaluation calculation means for evaluating a combination of solution candidates selected for each moving point,
(D1) One of the moving direction in which the passing order is from the first moving point to the last moving point, and the passing order is the direction opposite to the moving direction from the last moving point to the first moving point. One is the evaluation direction,
(D2) Each of one of the solution candidates at the most upstream moving point and one of each of the solution candidates at the second moving point adjacent to the downstream side in the evaluation direction of the most upstream moving point in the evaluation direction For each combination, an evaluation value is obtained according to a predetermined evaluation criterion, and the combination having the highest evaluation value is extracted for each solution candidate at the second moving point, and the second is determined for each solution candidate at the second moving point. Determining one combination of one of the solution candidates at the moving point and one solution candidate at the most upstream moving point extracted in relation thereto,
(D3) From the third moving point adjacent to the downstream side in the evaluation direction of the second moving point, to the moving point on the most downstream side in the evaluation direction, the moving point of interest for each solution candidate at each moving point sequentially in the evaluation direction For each combination of one of the solution candidates in and the one of each solution candidate at the moving point adjacent upstream in the evaluation direction with respect to the moving point of interest, an evaluation value is obtained according to the evaluation criterion, The evaluation value of the combination of these two solution candidates, and each of the two movement candidates that have already been determined for the solution candidate at the movement point upstream of the evaluation direction among the two solution candidates for which the evaluation value has been obtained For each solution candidate, obtain a cumulative evaluation value that combines the total evaluation value for each solution candidate, extract the combination with the highest cumulative evaluation value for each solution candidate at the moving point of interest, and obtain a solution candidate at the moving point of interest every , One of each solution candidate in a mobile point of interest to determine one combination of solution candidates in a mobile points adjacent to the evaluation direction upstream extracted in connection therewith,
(D4) Out of the solution candidates at the most downstream moving point in the evaluation direction, the solution candidate with the highest cumulative evaluation value is extracted, and the combination of each solution candidate for each moving point already determined in relation to this solution candidate Evaluation calculation means for obtaining a combination of joint forms for each moving point;
(E) A robot teaching support apparatus including output means for outputting a calculation result by the evaluation calculation means.
(a)複数の関節を有する多関節ロボットの予め定める移動対象部位を、複数の移動点を順次通過させて環状の循環移動経路を循環移動させるにあたって、移動点を移動対象部位がそれぞれ通過するときに各関節の角度位置で表される関節形態の、移動点毎の組合せを求めてロボット教示作業を支援する教示支援装置であって、
(b)各移動点を特定するための移動点情報を入力する入力手段と、
(c)移動点のうちで、仮想的に循環移動を開始する最初の移動点と、最初の移動点の移動方向上流側となる最後の移動点とを選択する選択手段と、
(d)ロボットの移動対象部位を移動点に配置可能な関節形態を解候補とし、移動点毎に、全ての解候補をそれぞれ演算する解候補演算手段と、
(e)移動点毎にそれぞれ選択される解候補の組合せを評価する評価演算手段であって、
(e1)通過順が最初の移動点から通過順が最後の移動点に向かう移動方向、および通過順が最後の移動点から通過順が最初の移動点に向かう移動方向と反対の方向のいずれか一方を評価方向とし、
(e2)最上流の移動点における各解候補のうちの1つと、評価方向最上流の移動点の評価方向下流側に隣接する2つめの移動点における各解候補のうちの1つとのそれぞれの組合せについて、予め定める評価基準に従って評価値を求め、2つめの移動点における解候補毎に、評価値が最も高い組合せをそれぞれ抽出して、2つめの移動点における各解候補毎に、2つめの移動点における各解候補のうちの1つと、それに関連して抽出した最上流の移動点における1つの解候補との組合せをそれぞれ決定し、
(e3)2つめの移動点の評価方向下流側に隣接する3つめの移動点から評価方向最下流の移動点まで、評価方向に順次、各移動点における各解候補毎に、注目する移動点における各解候補のうちの1つと、注目する移動点に対して評価方向上流側に隣接する移動点における各解候補のうちの1つとのそれぞれの組合せについて、前記評価基準に従って評価値を求め、それら2つの解候補の組合せの評価値と、評価値を求めた2つの解候補のうちで評価方向上流側の移動点における解候補について既に決定しているさらに評価方向上流側のそれぞれの移動点毎の各解候補に関する評価値の合計値とを合わせた累積評価値を求め、注目する移動点における解候補毎に、累積評価値が最も高い組合せを抽出して、注目する移動点における解候補毎に、注目する移動点における各解候補のうちの1つと、それに関連して抽出した評価方向上流側に隣接する移動点における1つの解候補との組合せを決定し、
(e4)評価方向最下流の移動点における解候補ごとに、評価方向最下流の移動点における解候補のうちの1つと、その解候補に関連して決定される評価方向最上流の移動点における1つの解候補との組合せについて、予め定める評価基準に従って評価値を求め、それら2つの解候補の組合せの評価値と、評価値を求めた評価方向最下流の移動点の解候補の累積評価値とを合わせた循環累積評価値を求め、循環累積評価値が最も高い解候補の組合せを抽出し、この組合せの解候補に関連して決定される移動点毎の各解候補の組合せを、移動点毎の関節形態の組合せとして求める評価演算手段と、
(f)評価演算手段による演算結果を出力する出力手段とを含むことを特徴とするロボットの教示支援装置。
(A) When the movement target part passes through each of the movement points when the movement target part of the articulated robot having a plurality of joints is circulated through the circular circulation movement path by sequentially passing through the plurality of movement points. A teaching support apparatus for supporting a robot teaching operation by obtaining a combination for each moving point of the joint form represented by the angular position of each joint;
(B) input means for inputting moving point information for specifying each moving point;
(C) Among the moving points, a selection means for selecting the first moving point that virtually starts the circular movement and the last moving point that is upstream in the moving direction of the first moving point;
(D) solution candidate calculation means for calculating a joint form capable of placing the movement target part of the robot at the movement point as a solution candidate and calculating all solution candidates for each movement point;
(E) Evaluation calculation means for evaluating a combination of solution candidates selected for each moving point,
(E1) One of the moving direction in which the passing order is from the first moving point to the last moving point, and the passing order is the direction opposite to the moving direction in which the passing order is from the last moving point to the first moving point One is the evaluation direction,
(E2) Each of one of the solution candidates at the most upstream moving point and one of each of the solution candidates at the second moving point adjacent to the downstream side in the evaluation direction of the most upstream moving point in the evaluation direction For each combination, an evaluation value is obtained according to a predetermined evaluation criterion, and the combination having the highest evaluation value is extracted for each solution candidate at the second moving point, and the second is determined for each solution candidate at the second moving point. Determining one combination of one of the solution candidates at the moving point and one solution candidate at the most upstream moving point extracted in relation thereto,
(E3) A moving point of interest for each solution candidate at each moving point sequentially from the third moving point adjacent to the downstream side in the evaluation direction of the second moving point to the moving point downstream in the evaluation direction. For each combination of one of the solution candidates in and the one of each solution candidate at the moving point adjacent upstream in the evaluation direction with respect to the moving point of interest, an evaluation value is obtained according to the evaluation criterion, The evaluation value of the combination of these two solution candidates, and each of the two movement candidates that have already been determined for the solution candidate at the movement point upstream of the evaluation direction among the two solution candidates for which the evaluation value has been obtained For each solution candidate, obtain a cumulative evaluation value that combines the total evaluation value for each solution candidate, extract the combination with the highest cumulative evaluation value for each solution candidate at the moving point of interest, and obtain a solution candidate at the moving point of interest every , One of each solution candidate in a mobile point of interest to determine one combination of solution candidates in a mobile points adjacent to the evaluation direction upstream extracted in connection therewith,
(E4) For each solution candidate at the moving point downstream in the evaluation direction, one of the solution candidates at the moving point downstream in the evaluation direction and the moving point at the upstreammost evaluation direction determined in relation to the solution candidate For a combination with one solution candidate, an evaluation value is obtained according to a predetermined evaluation criterion, the evaluation value of the combination of these two solution candidates, and the cumulative evaluation value of the solution candidate at the most downstream moving point in the evaluation direction for which the evaluation value is obtained , And a solution candidate combination with the highest circulation accumulation evaluation value is extracted, and each solution candidate combination determined for each moving point determined in relation to the solution candidate of this combination is moved. Evaluation calculation means to obtain as a combination of joint form for each point;
(F) A robot teaching support apparatus comprising: output means for outputting a calculation result by the evaluation calculation means.
前記入力手段は、多関節ロボットの進入が禁止される進入禁止領域に関する禁止領域情報を入力し、
前記解候補演算手段は、ロボットの移動対象部位を移動点に配置可能な関節形態のうちで、ロボットの少なくとも一部が進入禁止領域に進入するような関節形態について、解候補から除外することを特徴とする請求項1または2記載のロボットの教示支援装置。
The input means inputs prohibition area information related to an entry prohibition area where an articulated robot is prohibited from entering,
The solution candidate calculation means excludes, from the solution candidates, a joint configuration in which at least a part of the robot enters the entry prohibition area among the joint configurations in which the movement target part of the robot can be arranged at the movement point. 3. The robot teaching support apparatus according to claim 1, wherein the robot teaching support apparatus is a robot.
前記入力手段は、多関節ロボットの進入が禁止される進入禁止領域に関する禁止領域情報を入力し、
前記評価基準は、評価方向に隣接する2つの移動点における各解候補の表わす関節形態を変数とする評価関数に基づいて決定される第1評価基準と、評価方向に隣接する2つの移動点間について移動対象部位を移動させる間にロボットの少なくとも一部が進入禁止領域に進入しないことを基準とする第2評価基準とを含み、
前記評価演算手段は、評価方向に隣接する2つの移動点のうちの評価方向下流側の移動点における解候補に対して、評価方向に隣接する2つの移動点のうちの評価方向上流側の移動点における各解候補毎に第1評価基準に従う第1評価値をそれぞれ求め、それらのうちで、第1評価値が最も高い組合せ順に、第2評価基準を満足するか否かを演算し、第2評価基準を満足し、かつ第1評価値が最も高い組合せを、評価値が最も高い組合せとして抽出することを特徴とする請求項1〜3のいずれか1つに記載のロボットの教示支援装置。
The input means inputs prohibition area information related to an entry prohibition area where an articulated robot is prohibited from entering,
The evaluation criterion includes a first evaluation criterion determined based on an evaluation function having a joint form represented by each solution candidate at two moving points adjacent in the evaluation direction as a variable, and between the two moving points adjacent in the evaluation direction. Including a second evaluation criterion based on the fact that at least a part of the robot does not enter the entry prohibition area while moving the movement target part with respect to
The evaluation calculation means moves the upstream of the evaluation direction among the two movement points adjacent to the evaluation direction with respect to the solution candidate at the movement point downstream of the evaluation direction among the two movement points adjacent to the evaluation direction. A first evaluation value according to the first evaluation criterion is obtained for each solution candidate at a point, and among them, the second evaluation criterion is calculated in the order of combination having the highest first evaluation value, The robot teaching support apparatus according to any one of claims 1 to 3, wherein a combination that satisfies two evaluation criteria and that has the highest first evaluation value is extracted as a combination that has the highest evaluation value. .
前記評価値は、評価方向に隣接する2つの移動点における各関節の角度位置の偏差を変数とする評価関数に基づいて決定されることを特徴とする請求項1〜3のいずれか1つに記載のロボットの教示支援装置。   4. The evaluation value according to claim 1, wherein the evaluation value is determined based on an evaluation function using a deviation of an angular position of each joint at two movement points adjacent in the evaluation direction as a variable. The robot teaching support apparatus described. 前記解候補演算手段によって演算される、ロボットの移動対象部位を移動点に配置可能な全ての関節形態を記憶する記憶手段をさらに含み、
前記評価演算手段は、記憶手段に記憶される関節形態を解候補としてそれぞれ読出して、移動点毎の関節形態の組合せを求めることを特徴とする請求項3または4記載のロボットの教示支援装置。
A storage means for storing all joint forms calculated by the solution candidate calculation means and capable of arranging a movement target part of the robot at a movement point;
The robot teaching support apparatus according to claim 3 or 4, wherein the evaluation calculation means reads out the joint forms stored in the storage means as solution candidates, and obtains a combination of joint forms for each moving point.
請求項1〜6のいずれか1つに記載のロボットの教示支援装置の動作をコンピュータに行わせるためのコンピュータ読取り可能なプログラム。   A computer-readable program for causing a computer to perform the operation of the robot teaching support apparatus according to claim 1.
JP2006021445A 2006-01-30 2006-01-30 Robot teaching support apparatus and program therefor Active JP4693643B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006021445A JP4693643B2 (en) 2006-01-30 2006-01-30 Robot teaching support apparatus and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006021445A JP4693643B2 (en) 2006-01-30 2006-01-30 Robot teaching support apparatus and program therefor

Publications (2)

Publication Number Publication Date
JP2007203380A true JP2007203380A (en) 2007-08-16
JP4693643B2 JP4693643B2 (en) 2011-06-01

Family

ID=38483293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006021445A Active JP4693643B2 (en) 2006-01-30 2006-01-30 Robot teaching support apparatus and program therefor

Country Status (1)

Country Link
JP (1) JP4693643B2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009069653A1 (en) * 2007-11-28 2009-06-04 Toyota Jidosha Kabushiki Kaisha Robot motion path creating device and robot motion path creating method
JP2009172721A (en) * 2008-01-25 2009-08-06 Mitsubishi Electric Corp Robot track control device and method
JP2011258178A (en) * 2010-05-10 2011-12-22 Fanuc Ltd Numerical control device for multispindle processing machine
EP2422935A2 (en) 2010-08-31 2012-02-29 Kabushiki Kaisha Yaskawa Denki Robot, robot system, robot control device, and state determining method
JP2012240144A (en) * 2011-05-18 2012-12-10 Yaskawa Electric Corp Robot control device and robot system
CN102999007A (en) * 2011-09-07 2013-03-27 发那科株式会社 Numerical controller with workpiece setting error compensation unit for multi-axis machine tool
WO2015137167A1 (en) * 2014-03-14 2015-09-17 三菱重工業株式会社 Robot simulator and method, control device, and robot system
WO2016135861A1 (en) * 2015-02-24 2016-09-01 株式会社日立製作所 Manipulator, motion planning method for manipulator, and control system for manipulator
JP2020001137A (en) * 2018-06-29 2020-01-09 三菱電機株式会社 Robot control device and robot system
JP2020185637A (en) * 2019-05-13 2020-11-19 株式会社トヨタプロダクションエンジニアリング Robot program evaluation device, robot program evaluation method and robot program evaluation program
WO2022185760A1 (en) 2021-03-03 2022-09-09 オムロン株式会社 Robot posture determination device, method, and program
WO2023276149A1 (en) * 2021-07-02 2023-01-05 ファナック株式会社 Optimization assistance device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0449466A (en) * 1990-06-19 1992-02-18 Mitsubishi Heavy Ind Ltd Plan restriction canceling system
JPH04340607A (en) * 1991-05-17 1992-11-27 Shinko Electric Co Ltd Optimum route determining device
JP2003103481A (en) * 2001-09-28 2003-04-08 Honda Motor Co Ltd Attitude optimizing method and attitude optimizing device for articulated robot
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
JPH0449466A (en) * 1990-06-19 1992-02-18 Mitsubishi Heavy Ind Ltd Plan restriction canceling system
JPH04340607A (en) * 1991-05-17 1992-11-27 Shinko Electric Co Ltd Optimum route determining device
JP2003103481A (en) * 2001-09-28 2003-04-08 Honda Motor Co Ltd Attitude optimizing method and attitude optimizing device for articulated robot
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 (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009069653A1 (en) * 2007-11-28 2009-06-04 Toyota Jidosha Kabushiki Kaisha Robot motion path creating device and robot motion path creating method
JP2009172721A (en) * 2008-01-25 2009-08-06 Mitsubishi Electric Corp Robot track control device and method
JP2011258178A (en) * 2010-05-10 2011-12-22 Fanuc Ltd Numerical control device for multispindle processing machine
US8255078B2 (en) 2010-05-10 2012-08-28 Fanuc Corporation Numerical controller for multi-axis machine tool
US8650965B2 (en) 2010-08-31 2014-02-18 Kabushiki Kaisha Yaskawa Denki Robot, robot system, robot control device, and state determining method
EP2422935A2 (en) 2010-08-31 2012-02-29 Kabushiki Kaisha Yaskawa Denki Robot, robot system, robot control device, and state determining method
EP2572838A1 (en) 2010-08-31 2013-03-27 Kabushiki Kaisha Yaskawa Denki Robot, robot system, robot control device, and state determining method
US9346162B2 (en) 2010-08-31 2016-05-24 Kabushiki Kaisha Yaskawa Denki Robot system, control device of robot, and robot control device
EP2572837A1 (en) 2010-08-31 2013-03-27 Kabushiki Kaisha Yaskawa Denki Robot, robot system, robot control device, and state determining method
JP2012240144A (en) * 2011-05-18 2012-12-10 Yaskawa Electric Corp Robot control device and robot system
JP2013058035A (en) * 2011-09-07 2013-03-28 Fanuc Ltd Numerical control device for multiple spindle machine tool including workpiece installation error correction section
US9223304B2 (en) 2011-09-07 2015-12-29 Fanuc Corporation Numerical controller with workpiece setting error compensation unit for multi-axis machine tool
CN102999007A (en) * 2011-09-07 2013-03-27 发那科株式会社 Numerical controller with workpiece setting error compensation unit for multi-axis machine tool
WO2015137167A1 (en) * 2014-03-14 2015-09-17 三菱重工業株式会社 Robot simulator and method, control device, and robot system
JP2015174185A (en) * 2014-03-14 2015-10-05 三菱重工業株式会社 Robot simulation device and method, control device, and robot system
JPWO2016135861A1 (en) * 2015-02-24 2017-06-22 株式会社日立製作所 Manipulator, manipulator operation planning method, and manipulator control system
WO2016135861A1 (en) * 2015-02-24 2016-09-01 株式会社日立製作所 Manipulator, motion planning method for manipulator, and control system for manipulator
JP2020001137A (en) * 2018-06-29 2020-01-09 三菱電機株式会社 Robot control device and robot system
JP7028083B2 (en) 2018-06-29 2022-03-02 三菱電機株式会社 Robot control device and robot system
JP2020185637A (en) * 2019-05-13 2020-11-19 株式会社トヨタプロダクションエンジニアリング Robot program evaluation device, robot program evaluation method and robot program evaluation program
JP7232704B2 (en) 2019-05-13 2023-03-03 株式会社トヨタプロダクションエンジニアリング ROBOT PROGRAM EVALUATION DEVICE, ROBOT PROGRAM EVALUATION METHOD AND ROBOT PROGRAM EVALUATION PROGRAM
WO2022185760A1 (en) 2021-03-03 2022-09-09 オムロン株式会社 Robot posture determination device, method, and program
WO2023276149A1 (en) * 2021-07-02 2023-01-05 ファナック株式会社 Optimization assistance device

Also Published As

Publication number Publication date
JP4693643B2 (en) 2011-06-01

Similar Documents

Publication Publication Date Title
JP4693643B2 (en) Robot teaching support apparatus and program therefor
CN110116405B (en) Trajectory generation method and trajectory generation device
US8825209B2 (en) Method and apparatus to plan motion path of robot
Palmer et al. Real-time method for tip following navigation of continuum snake arm robots
US9411335B2 (en) Method and apparatus to plan motion path of robot
JP5426719B2 (en) Robot system motion simulation device
JP5044991B2 (en) Route creation apparatus and route creation method
Baizid et al. IRoSim: Industrial Robotics Simulation Design Planning and Optimization platform based on CAD and knowledgeware technologies
Bohigas et al. Planning singularity-free paths on closed-chain manipulators
CN109760040B (en) Interference determination method, interference determination system, and storage medium
Gómez-Bravo et al. Collision free trajectory planning for hybrid manipulators
CN113618742B (en) Robot obstacle avoidance method and device and robot
JP5775279B2 (en) Route generator
JP2009134352A (en) Robot motion path creating device, and robot motion path creating method
JP4760732B2 (en) Route creation device
JP2004094399A (en) Control process for multi-joint manipulator and its control program as well as its control system
JP2011031309A (en) Method of generating moving body posture and device of generating moving body posture
JP2007000954A (en) Robot teaching device and method
KR101787865B1 (en) Inverse kinematic solution for multi-joint link mechanism, and device for creating instructional data by using inverse kinematic solution
JP2009274180A (en) Robot movement plan method and device using the same
JP2021082222A (en) Information processing method, robot system, article manufacturing method, and information processing unit
JP4848838B2 (en) Route creation apparatus and route creation method
JP2015058493A (en) Control device, robot system, robot, robot operation information generation method, and program
JP5755715B2 (en) Robot control method
JP2009050949A (en) Method and apparatus for teaching track of robot arm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110128

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: 20110215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4693643

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150304

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250