JP5476225B2 - Interference determination apparatus and interference determination method - Google Patents

Interference determination apparatus and interference determination method Download PDF

Info

Publication number
JP5476225B2
JP5476225B2 JP2010142991A JP2010142991A JP5476225B2 JP 5476225 B2 JP5476225 B2 JP 5476225B2 JP 2010142991 A JP2010142991 A JP 2010142991A JP 2010142991 A JP2010142991 A JP 2010142991A JP 5476225 B2 JP5476225 B2 JP 5476225B2
Authority
JP
Japan
Prior art keywords
interference
information
identification number
determination
occupation
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.)
Expired - Fee Related
Application number
JP2010142991A
Other languages
Japanese (ja)
Other versions
JP2012006100A5 (en
JP2012006100A (en
Inventor
恵梨佳 山下
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.)
Nitto Seiko Co Ltd
Original Assignee
Nitto Seiko Co 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 Nitto Seiko Co Ltd filed Critical Nitto Seiko Co Ltd
Priority to JP2010142991A priority Critical patent/JP5476225B2/en
Publication of JP2012006100A publication Critical patent/JP2012006100A/en
Publication of JP2012006100A5 publication Critical patent/JP2012006100A5/ja
Application granted granted Critical
Publication of JP5476225B2 publication Critical patent/JP5476225B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、干渉判定装置および干渉判定方法に関するものである。   The present invention relates to an interference determination device and an interference determination method.

先端に昇降軸を持つ二台の水平多関節アームを人間の両腕のように配置した双腕ロボットは、設置に要するスペースの割に自由度が高く、また両腕の作業領域の少なくとも一部が重複していることからワークを押さえつつねじ締めを行うなどの複合作業が可能であるという利点がある。しかし、各アームは移動経路で衝突する危険があり、作業者はその動きを予測することが困難である。そこで、双腕ロボットの各アームが他方のアームの作業領域に一部でも重複するような作業領域内で移動する際、互いのアームが相手の移動軌道上に重なるかどうかという干渉判定が必要となる。また、双腕ロボットが実際に作業を行う上で、左右のアーム同士以外にも、治具や安全柵などの障害物との干渉が生じる可能性があり、水平多関節アームと障害物の干渉判定も必要になる場合がある。   A double-arm robot that has two horizontal articulated arms with lifting axes at the tip like human arms, has a high degree of freedom for the space required for installation, and at least a part of the work area of both arms. Since there is an overlap, there is an advantage that it is possible to perform combined work such as screwing while holding the workpiece. However, each arm has a danger of colliding in the movement path, and it is difficult for the operator to predict the movement. Therefore, when each arm of a double-arm robot moves in a work area that partially overlaps the work area of the other arm, it is necessary to determine whether or not each other's arm overlaps the movement trajectory of the opponent. Become. In addition, when the dual-arm robot actually performs work, there is a possibility of interference with obstacles such as jigs and safety fences in addition to the left and right arms. Judgment may also be necessary.

干渉判定を行う方法としては、いくつかの方式が存在する。例えば、工作機械を制御する数値制御装置で干渉チェックを行うために、「複数の機械構造物の干渉領域を各々定義し、前記干渉領域を移動させ、前記各々の機械構造物の干渉領域がそれぞれ干渉するかをチェックする機能を有する数値制御装置について、前記干渉領域として、直方体、円筒、平面の立体図形で定義し、各々の立体図形が交差するか交差しないかにより干渉をチェックする」という方式がある(特許文献1参照)。また、干渉判定を行う他の方法として、水平多関節ロボットに対して、「3次元ロボットモデルを2次元平面上に投影した2次元ロボットモデルに変換」し、「3次元障害物モデルを2次元障害物モデルとして分割」したものとの干渉判定を行う方式も存在する(特許文献2参照)。   There are several methods for performing interference determination. For example, in order to perform an interference check with a numerical control device that controls a machine tool, “define each interference area of a plurality of machine structures, move the interference area, and each of the interference areas of each machine structure For a numerical control device having a function of checking whether to interfere, a method of defining a rectangular solid, cylinder, or planar solid figure as the interference area, and checking for interference depending on whether each solid figure intersects or does not intersect. (See Patent Document 1). As another method for performing interference determination, for a horizontal articulated robot, “transform a 3D robot model into a 2D robot model projected onto a 2D plane” and “convert a 3D obstacle model into a 2D There is also a method of performing interference determination with what is divided as an obstacle model (see Patent Document 2).

特開2009−054043号公報JP 2009-054043 A 特開2004−202627号公報JP 2004-202627 A

上記の特許文献1の発明のように、3次元方向の運動を行う3次元物体に対する干渉判定は、定義が容易な3次元の単純近似モデルに変換して行われることが多い。しかしながら、双腕ロボットの2次元方向の運動のみを考慮する(ロボットアームの昇降軸の動作と治具の上昇下降を考えない)場合に、これを3次元モデルで扱うことは処理時間の短縮やメモリ確保の観点で有益ではない。   As in the above-described Patent Document 1, interference determination for a three-dimensional object that moves in a three-dimensional direction is often performed by converting it into a three-dimensional simple approximation model that is easy to define. However, when considering only the two-dimensional motion of the double-arm robot (not considering the movement of the robot arm's lifting axis and the jig's up / down), handling this with a three-dimensional model can reduce processing time. It is not useful in terms of securing memory.

また、特許文献2の発明においては、障害物モデルの分割は3次元障害物モデルの高さ毎に行われ、水平多関節ロボットの設置面からアームまでの高さ(高さは一定であるが、ある厚みを持つ)と一致する障害物モデルのみが干渉判定の対象となる。そのため、2次元ロボットモデルを用いているにもかかわらず、立体交差が可能な部分を干渉判定から除外した結果を短時間で得ることができる。この方式の優れている点は、水平多関節ロボットの高さと一致する分割面のみを判定すればよいという点である。しかしながら、例えば水平多関節ロボットを複数の分割面に分けなければならないような場合には、それぞれの分割面で干渉判定を行わなければならない。双腕ロボットもこれに該当し、ロボットアームを構成する各部分(第1リンク、第2リンク、先端の昇降軸など)で異なる高さを持つために干渉判定を行うべき分割面が多数になる可能性があり、このような場合には、演算量が増加し、処理に長時間を要するという問題がある。また、特許文献2の発明においては、2次元平面上に投影した2次元ロボットモデルの占有領域の重複だけで干渉判定を行っており、干渉のない立体交差は存在しないことを前提としている。つまり、特許文献2の場合において、干渉のない立体交差は考慮の対象に入っていない。しかし、干渉のない立体交差があるか否かを更に考慮に入れることにより、干渉判定の精度が更に向上することが期待される。   In the invention of Patent Document 2, the obstacle model is divided for each height of the three-dimensional obstacle model, and the height from the installation surface of the horizontal articulated robot to the arm (the height is constant). Only obstacle models that match (with a certain thickness) are subject to interference determination. Therefore, it is possible to obtain in a short time a result of excluding a portion where three-dimensional intersection is possible from the interference determination in spite of using the two-dimensional robot model. The advantage of this method is that it is only necessary to determine a split surface that matches the height of the horizontal articulated robot. However, for example, when a horizontal articulated robot has to be divided into a plurality of division planes, it is necessary to perform interference determination on each division plane. This is also the case with a double-arm robot, since each part (the first link, the second link, the lifting shaft at the tip, etc.) constituting the robot arm has a different height, there are a large number of split surfaces on which interference determination should be performed. In such a case, there is a problem that the amount of calculation increases and the processing takes a long time. Further, in the invention of Patent Document 2, it is assumed that interference determination is performed only by overlapping the occupied areas of the two-dimensional robot model projected on the two-dimensional plane, and there is no solid intersection without interference. That is, in the case of Patent Document 2, a solid intersection without interference is not taken into consideration. However, it is expected that the accuracy of interference determination will be further improved by further taking into consideration whether there is a solid intersection without interference.

そこで、本発明は上記に鑑みてなされたもので、干渉のない立体交差を考慮しつつも、干渉判定を短時間で行うことが可能な干渉判定装置および干渉判定方法を提供することを目的とする。   Therefore, the present invention has been made in view of the above, and an object thereof is to provide an interference determination device and an interference determination method capable of performing interference determination in a short time while considering a solid intersection without interference. To do.

上記課題を解決するために、本発明の干渉判定装置は、3次元で動作するロボットおよび障害物の各部位に対して干渉判定を行う干渉判定装置であって、前記各部位のうち移動を伴う部位である移動部位ごとに、他の前記各部位とそれぞれ立体交差する際に干渉を伴うか否かを表した干渉条件情報であって、前記立体交差する際に干渉を伴うか否かを表す干渉情報に基づいて設定される前記干渉条件情報を格納する干渉条件情報格納手段と、前記ロボットの動作する空間を2次元平面上に投影した上で前記2次元平面を所定の数の領域に区切るマス目管理手段と、前記部位により占有される前記領域と、前記領域を占有する部位を特定する情報とを対応付けた占有情報を記録する占有情報記録手段と、前記占有情報と前記干渉条件情報とに基づいて、互いに立体交差する2以上の異なる前記部位同士が前記干渉を伴うか否かについて判断する判断手段と、を備えていることを特徴とする。
また、本発明の干渉判定装置は、前記部位ごとに識別番号を割り当てる識別番号割当手段と、前記干渉情報を格納する干渉情報格納手段と、を更に備え、前記マス目管理手段は、前記領域ごとにメモリ領域を確保し、前記占有情報記録手段は、前記各部位によって占有される領域に対応するメモリ領域に当該各部位の前記識別番号を前記占有情報として記録してもよい。
また、本発明の干渉判定装置は、3次元で動作するロボットおよび障害物の各部位に対して干渉判定を行う干渉判定装置であって、複数の桁数を有し且つ他の識別番号との間で桁ごとの論理積を計算すると全ての桁が「0」となるように設定された識別番号を、前記各部位に割り当てる識別番号割当手段と、前記各部位のうち移動を伴う部位である移動部位が、他の前記部位との間で立体交差する際に干渉を伴わない場合には「0」、立体交差する際に干渉を伴う場合には「1」を表す情報を干渉情報として格納する干渉情報格納手段と、前記干渉情報に基づき設定され、前記複数の桁数を有し、前記移動部位が前記他の部位との間で立体交差する際に干渉を伴うか否かを表す情報である干渉条件情報を、前記移動部位ごとに格納する干渉条件情報格納手段と、前記ロボットの動作する空間を2次元平面上に投影した上で、前記2次元平面をn1×n2のマス目に区切るとともに、前記n1×n2のマス目それぞれに対応するメモリ領域を確保するマス目管理手段と、前記n1×n2のマス目のうち前記各部位に対応するマス目である対応マス目を特定し、前記各部位の前記識別番号に基づく情報であり前記複数の桁数を有する占有情報を前記対応マス目に対応する前記メモリ領域に記録する占有情報記録手段と、前記占有情報および前記干渉条件情報における桁ごとの論理積を前記対応マス目ごとに求め、前記論理積の結果が全ての桁において「0」であれば前記各部位同士は干渉しないと判断し、前記論理積の結果が少なくとも一つの桁において「1」であれば前記各部位同士は干渉すると判断する判断手段と、を備えていてもよい。
In order to solve the above-described problem, an interference determination apparatus according to the present invention is an interference determination apparatus that performs interference determination on each part of a robot and an obstacle operating in three dimensions, and involves movement among the parts. Interference condition information indicating whether or not there is interference when three-dimensionally intersecting each other part for each moving part that is a part, and indicates whether or not interference is involved when three-dimensionally intersecting Interference condition information storage means for storing the interference condition information set based on interference information, and projecting the space in which the robot operates on a two-dimensional plane, and then dividing the two-dimensional plane into a predetermined number of regions and Rumasu th management unit, and the area occupied by the sites, the information specifying the sites occupied, the occupation information recording means for recording the occupation information that associates, with the occupation information interference the region With condition information Zui it, characterized in that it comprises a determining means for determining whether or not accompanied by solid two or more different said portions with each other the interference cross each other.
Also, the interference determination device of the present invention, the identification number assigning means for assigning an identification number to each of the sites, and the interference information storage means for storing the interference information, further wherein the grid management means, each of said areas The occupation information recording means may record the identification number of each part as the occupation information in a memory area corresponding to the area occupied by each part.
The interference determination apparatus according to the present invention is an interference determination apparatus that performs interference determination on each part of a robot and an obstacle that operate in three dimensions, and has a plurality of digits and other identification numbers. An identification number assigning means for assigning an identification number set so that all the digits become “0” when calculating the logical product for each digit, and a part of the part with movement. Information indicating “0” is stored as interference information when the moving part does not interfere with the other part, and “1” is stored when there is interference when the moving part intersects. Interference information storage means, and information that is set based on the interference information, has a plurality of digits, and indicates whether or not interference occurs when the moving part intersects with another part. The interference condition information is stored for each moving part. An information storage means and a space in which the robot operates is projected onto a two-dimensional plane, and then the two-dimensional plane is divided into n1 × n2 cells and memory areas corresponding to the n1 × n2 cells, respectively. A grid managing means for securing the grid, a corresponding grid that is a grid corresponding to each part of the n1 × n2 grids, and information based on the identification number of each part, Occupancy information recording means for recording occupancy information having the number of digits in the memory area corresponding to the corresponding cell, and obtaining a logical product for each digit in the occupancy information and the interference condition information for each corresponding cell If the result of logical product is “0” in all digits, it is determined that the parts do not interfere with each other. If the result of logical product is “1” in at least one digit, the parts are Determining means for determining to Wataru may comprise.

本発明の干渉判定方法は、3次元で動作するロボットおよび障害物の各部位に対して干渉判定を行う干渉判定方法であって、前記各部位のうち移動を伴う部位である移動部位ごとに、他の前記各部位とそれぞれ立体交差する際に干渉を伴うか否かを表した干渉条件情報であって、前記立体交差する際に干渉を伴うか否かを表す干渉情報に基づいて設定される前記干渉条件情報を格納する干渉条件情報格納ステップと、前記ロボットの動作する空間を2次元平面上に投影した上で前記2次元平面を所定の数の領域に区切るマス目管理ステップと、前記部位により占有される前記領域と、前記領域を占有する部位を特定する情報とを対応付けた占有情報が記録される占有情報記録ステップと、前記占有情報と前記干渉条件情報とに基づいて、互いに立体交差する2以上の異なる前記部位同士が前記干渉を伴うか否かについて判断される判断ステップと、を含んでいることを特徴とする。
また、本発明の干渉判定方法は、前記部位ごとに識別番号が割り当てられる識別番号割当ステップと、前記干渉情報が格納される干渉情報格納ステップと、を更に含み、前記マス目管理ステップでは、前記領域ごとにメモリ領域が確保され、前記占有情報記録ステップでは、前記各部位によって占有される前記領域が特定され、当該領域に対応するメモリ領域に当該各部位の前記識別番号が前記占有情報として記録されてもよい。
また、本発明の干渉判定方法は、3次元で動作するロボットおよび障害物の各部位に対して干渉判定を行う干渉判定方法であって、複数の桁数を有し且つ他の識別番号との間で桁ごとの論理積を計算すると全ての桁が「0」となるように設定された識別番号が、前記各部位に割り当てられ、前記各部位のうち移動を伴う部位である移動部位が、他の前記部位との間で立体交差する際に干渉を伴わない場合には「0」、立体交差する際に干渉を伴う場合には「1」を表す情報が、干渉情報として格納され、前記干渉情報に基づき設定され、前記複数の桁数を有し、前記移動部位が前記他の部位との間で立体交差する際に干渉を伴うか否かを表す情報である干渉条件情報が、前記移動部位ごとに格納され、前記ロボットの動作する空間が2次元平面上に投影された上で、前記2次元平面がn1×n2のマス目に区切られるとともに、前記n1×n2のマス目それぞれに対応するメモリ領域が確保され、前記n1×n2のマス目のうち前記各部位に対応するマス目である対応マス目が特定され、前記各部位の前記識別番号に基づく情報であり前記複数の桁数を有する占有情報が前記対応マス目に対応する前記メモリ領域に記録され、前記占有情報および前記干渉条件情報における桁ごとの論理積が前記対応マス目ごとに求められ、前記論理積の結果が全ての桁において「0」であれば前記各部位同士は干渉しないと判断され、前記論理積の結果が少なくとも一つの桁において「1」であれば前記各部位同士は干渉すると判断されてもよい。
The interference determination method of the present invention is an interference determination method for performing interference determination on each part of a robot and an obstacle operating in three dimensions, and for each moving part that is a part that involves movement among the above parts, Interference condition information indicating whether or not there is interference when crossing each other part, and is set based on interference information indicating whether or not interference occurs when crossing wherein the interference condition information storing step of storing the interference condition information, and separated Rumasu th managing step of the two-dimensional plane in a predetermined number of regions operate the space on projected onto a two-dimensional plane of the robot, the said area occupied by the sites, based on the information specifying the sites occupied, the occupation information recording step of occupation information is recorded that associates the occupation information and the interference condition information said area, Mutual Wherein the two or more different said portions to each other to grade contains and a determination step it is determined whether or not accompanied by the interference.
Also, the interference determination method of the present invention, the identification number assigning step that the identification number is assigned for each of the sites, and the interference information storing step of the interference information is stored, further comprising a, in the grid management step, the A memory area is secured for each area, and in the occupation information recording step, the area occupied by each part is specified, and the identification number of each part is recorded as the occupation information in a memory area corresponding to the area. May be.
The interference determination method of the present invention is an interference determination method for performing interference determination on each part of a robot operating in three dimensions and an obstacle, and has a plurality of digits and is connected to other identification numbers. When the logical product for each digit is calculated, an identification number set so that all digits are “0” is assigned to each part, and a moving part that is a part with movement among the parts, Information indicating “0” is stored as interference information when there is no interference at the time of a three-dimensional intersection with another part, and “1” is stored as interference information when there is an interference at a three-dimensional intersection, Interference condition information, which is set based on interference information, has a plurality of digits, and indicates whether interference occurs when the moving part intersects with the other part, It is stored for each moving part, and the space where the robot operates is 2D flat. In addition, the two-dimensional plane is divided into n1 × n2 cells and a memory area corresponding to each of the n1 × n2 cells is secured, and among the n1 × n2 cells, Corresponding cells that are cells corresponding to the respective parts are identified, and the occupancy information that is information based on the identification number of each part and has the plurality of digits is stored in the memory area corresponding to the corresponding cells. Recorded, the logical product for each digit in the occupation information and the interference condition information is obtained for each corresponding cell, and if the result of the logical product is “0” in all digits, the respective parts do not interfere with each other. If the result of the logical product is “1” in at least one digit, it may be determined that the parts interfere with each other.

このような本発明の干渉判定装置および干渉判定方法では、識別番号、干渉情報、干渉条件情報、および占有情報が各部位間の干渉を判定するための必須の情報として用いられる。このうち、特に干渉情報および干渉条件情報は、移動部位が他の部位との間で立体交差する際に干渉を伴わない場合の値および干渉を伴う場合の値に基づいた情報である。したがって、これら干渉情報および干渉条件情報を用いることにより、本発明による干渉判定の結果には各部位間の立体交差時の干渉の有無が考慮されることとなる。これにより、干渉判定の精度が向上される。   In such an interference determination apparatus and interference determination method of the present invention, the identification number, interference information, interference condition information, and occupancy information are used as essential information for determining interference between the parts. Among these, the interference information and the interference condition information are information based on a value when no interference occurs and a value when interference occurs when the moving part intersects with another part. Therefore, by using these interference information and interference condition information, the result of the interference determination according to the present invention takes into consideration the presence or absence of interference at the time of a three-dimensional intersection between the parts. Thereby, the accuracy of interference determination is improved.

また、本発明においては、ロボットの動作する空間を2次元平面上に投影した上で、干渉判定を行うため、例えば3次元での干渉判定に比べ、干渉判定処理を短時間で行うことが可能となる。また、本発明で用いる干渉情報は「0」または「1」を表す情報であり、そのデータ量が少ないことから、装置全体における計算量や計算時間が短縮できる。   Further, in the present invention, the interference determination is performed after the space in which the robot operates is projected onto a two-dimensional plane, so that the interference determination process can be performed in a shorter time than, for example, three-dimensional interference determination. It becomes. Also, the interference information used in the present invention is information representing “0” or “1”, and since the data amount is small, the calculation amount and calculation time in the entire apparatus can be shortened.

また、本発明で用いる識別番号、干渉条件情報、および占有情報はロボットおよび障害物の各部位の数と同数の桁数を有する情報であるため、例えば部位の数が増えた場合には、増えた部位に関する干渉条件を設定した上で、増えた部位の数だけ識別番号、干渉条件情報、および占有情報の桁数を増やして、本発明における干渉判定を行うことができる。このように、本発明によれば、部位の数が増えた場合に、柔軟な対応が可能である。また、「0」か「1」かの少ないデータ量で計算を行うことから、部位の数が増えたことに伴って、装置全体の計算量や計算時間が極端に増えることを防止できる。   Further, since the identification number, interference condition information, and occupation information used in the present invention are information having the same number of digits as the number of each part of the robot and the obstacle, for example, the number increases when the number of parts increases. In addition, the interference condition in the present invention can be determined by setting the number of digits of the identification number, the interference condition information, and the occupancy information by the number of the increased parts after setting the interference conditions for the different parts. As described above, according to the present invention, when the number of parts increases, a flexible response is possible. In addition, since the calculation is performed with a small data amount of “0” or “1”, it is possible to prevent the calculation amount and calculation time of the entire apparatus from being extremely increased as the number of parts increases.

また、本発明において、前記干渉条件情報格納手段は、下記の数式(1)により計算される情報Ciを前記干渉条件情報として格納しても良い。

Figure 0005476225

ただし、hは前記各部位の数であり、iおよびjは1以上h以下の自然数であり、Ciはi番目の部位の前記干渉条件情報であり、IDjはj番目の部位の前記識別番号であり、tijはi番目の部位とj番目の部位における前記干渉情報である。 In the present invention, the interference condition information storage means may store information Ci calculated by the following formula (1) as the interference condition information.
Figure 0005476225

Where h is the number of each part, i and j are natural numbers of 1 to h, Ci is the interference condition information of the i-th part, and IDj is the identification number of the j-th part. Yes, tij is the interference information in the i-th part and the j-th part.

この発明によれば、干渉条件情報を計算するための具体的な手法が提供される。   According to the present invention, a specific method for calculating interference condition information is provided.

また、本発明において、前記占有情報記録手段は、前記メモリ領域が初期化されている場合には、前記識別番号を前記占有情報として前記メモリ領域に記録し、前記メモリ領域が初期化されていない場合には、既存の占有情報と前記識別番号との間の桁ごとの論理和を前記占有情報として前記メモリ領域に記録しても良い。   In the present invention, when the memory area is initialized, the occupation information recording means records the identification number as the occupation information in the memory area, and the memory area is not initialized. In this case, a logical sum for each digit between the existing occupation information and the identification number may be recorded in the memory area as the occupation information.

この発明によれば、占有情報を記録するための具体的な手法が提供される。   According to the present invention, a specific method for recording occupation information is provided.

また、本発明においては、前記ロボットの動作における動作開始時刻と動作終了時刻との間が一定時間間隔ごとに区切られ、当該区切られた各時刻における前記各部位の位置に対して、前記占有情報記録手段は、前記各時刻における前記対応マス目を特定し、前記占有情報を前記対応マス目に対応する前記メモリ領域に記録し、前記判断手段は、前記占有情報および前記干渉条件情報における桁ごとの論理積を前記対応マス目ごとに求め、前記論理積の結果が全ての桁において「0」であれば前記各部位同士は干渉しないと判断し、前記論理積の結果が少なくとも一つの桁において「1」であれば前記各部位同士は干渉すると判断しても良い。   Further, in the present invention, the movement start time and the movement end time in the movement of the robot are divided at regular time intervals, and the occupancy information is obtained with respect to the position of each part at each divided time. The recording means identifies the corresponding squares at each time, records the occupation information in the memory area corresponding to the corresponding squares, and the determination means is for each digit in the occupation information and the interference condition information. For each corresponding square, and if the result of the logical product is “0” in all the digits, it is determined that the parts do not interfere with each other, and the result of the logical product is in at least one digit. If it is “1”, it may be determined that the parts interfere with each other.

この発明によれば、ロボットの動作における動作開始時刻と動作終了時刻との間の各時刻に対して干渉判定が行われる。これにより、動作中の全ての時刻において干渉が生じないことを判断した上で、安全にロボットを動作させることができる。   According to the present invention, the interference determination is performed for each time between the operation start time and the operation end time in the operation of the robot. Thus, the robot can be operated safely after determining that no interference occurs at all times during operation.

また、本発明において、前記ロボットは、水平多関節アームを有する双腕ロボットであっても良い。   In the present invention, the robot may be a double-arm robot having a horizontal articulated arm.

この発明は、ロボットが水平多関節アームを有する双腕ロボットである場合に特に有用である。   The present invention is particularly useful when the robot is a double-arm robot having a horizontal articulated arm.

また、本発明において、前記識別番号、前記干渉条件情報、および前記占有情報は、前記各部位の数と同数の前記複数の桁数を有する情報であっても良い。   In the present invention, the identification number, the interference condition information, and the occupation information may be information having the same number of digits as the number of each part.

この発明は、識別番号、干渉条件情報、および占有情報が、ロボットおよび障害物の各部位の数と同数の桁数を有することから、各情報が必要最小限の桁数を有することとなり、演算に無駄がなく、必要最小限のメモリ量を用いて演算を行うことができる。   In the present invention, since the identification number, the interference condition information, and the occupation information have the same number of digits as the number of each part of the robot and the obstacle, each information has the minimum necessary number of digits. Therefore, the calculation can be performed using the minimum necessary memory amount.

また、本発明は、3次元で動作するロボットおよび障害物の各部位に対して干渉判定を行う干渉判定装置であって、前記ロボットの動作する空間を2次元平面上に投影した上で、前記2次元平面を所定の数のマス目に区切るとともに、前記所定の数のマス目それぞれに対応するメモリ領域を確保するマス目管理手段と、前記所定の数のマス目のうち前記各部位に対応するマス目である対応マス目を部位毎に特定し、前記各部位が前記対応マス目を占有するか否かを示す占有情報を前記部位毎に順次前記対応マス目に対応する前記メモリ領域に記録する占有情報記録手段と、前記占有情報を前記メモリ領域に記録するときに、そのメモリ領域に既に別の部位の前記占有情報が記録されている場合には、それらの部位同士が干渉すると判断する判断手段と、を備えることを特徴とする。 In addition, the present invention is an interference determination apparatus that performs interference determination on each part of a robot and an obstacle operating in three dimensions, and after projecting a space in which the robot operates on a two-dimensional plane, A cell management unit that divides the two-dimensional plane into a predetermined number of cells and secures a memory area corresponding to each of the predetermined cells, and corresponds to each part of the predetermined number of cells. A corresponding cell that is a cell to be identified is specified for each region, and occupancy information indicating whether each region occupies the corresponding cell is sequentially stored in the memory region corresponding to the corresponding cell. Occupation information recording means for recording, and when recording the occupancy information in the memory area, if the occupancy information of another part is already recorded in the memory area, it is determined that the parts interfere with each other Size Characterized in that it comprises a means.

このような本発明の干渉判定装置は、マス目管理手段、占有情報記録手段、および判断手段のみを必須の構成要素とする簡素な構成となり、このような構成により、簡易的な干渉判定処理が可能となる。この簡易的な干渉判定処理は、干渉判定対象部位が少なく、2次元平面上での動作(例えばアームの旋回動作)だけ考慮すれば良いロボットおよび障害物に対して特に有効である。すなわち、マス目を使って2次元平面上での干渉判定を行うため、3次元的な空間やモデルを用いて干渉判定を行う場合に比べて極めて少ないデータ量で計算ができ、干渉判定を高速化でき、ロボットの2次元方向の運動のみを考慮する(ロボットアームの昇降軸の動作や冶具の上昇下降がない)場合に特に有効である。   Such an interference determination apparatus of the present invention has a simple configuration in which only the grid management unit, the occupation information recording unit, and the determination unit are essential components, and such a configuration makes it possible to perform a simple interference determination process. It becomes possible. This simple interference determination process is particularly effective for robots and obstacles in which there are few interference determination target parts and only an operation on a two-dimensional plane (for example, an arm turning operation) needs to be considered. In other words, since interference is determined on a two-dimensional plane using squares, calculation can be performed with a very small amount of data compared to the case where interference is determined using a three-dimensional space or model, and interference determination is performed at high speed. This is particularly effective when considering only the two-dimensional movement of the robot (no movement of the lifting / lowering axis of the robot arm or up / down of the jig).

本発明によれば、干渉のない立体交差を考慮しつつも、干渉判定を短時間で行うことが可能な干渉判定装置および干渉判定方法を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the interference determination apparatus and the interference determination method which can perform interference determination in a short time can be provided, considering the solid intersection without interference.

双腕ロボットシステム100の構成概要図である。1 is a schematic configuration diagram of a double-arm robot system 100. FIG. 双腕ロボット3の側面概要図である。2 is a schematic side view of a double-arm robot 3. FIG. 双腕ロボット3の上面概要図である。3 is a schematic top view of a double-arm robot 3. FIG. 干渉判定部4の機能的構成要素を示したブロック図である。3 is a block diagram showing functional components of an interference determination unit 4. FIG. 識別番号割当部421が双腕ロボット3および障害物5の各部位に割り当てた識別番号IDiの一例を示す図である。It is a figure which shows an example of identification number IDi which the identification number allocation part 421 allocated to each site | part of the double arm robot 3 and the obstruction 5. FIG. 干渉情報生成部422が作成したテーブルの一例を示す図である。It is a figure which shows an example of the table which the interference information generation part 422 created. 干渉条件情報生成部423により生成された干渉条件情報の一例を示す図である。It is a figure which shows an example of the interference condition information produced | generated by the interference condition information generation part 423. 干渉条件情報生成部423により生成された干渉条件情報の一例を示す図である。It is a figure which shows an example of the interference condition information produced | generated by the interference condition information generation part 423. マス目管理部424により作成された判定領域6の一例を示す図である。It is a figure which shows an example of the determination area | region 6 produced by the square management part 424. FIG. 双腕ロボットシステム100にて行われるメイン処理を示すフローチャートである。3 is a flowchart showing main processing performed in the dual-arm robot system 100. 干渉判定部4による干渉判定処理を示すフローチャートである。It is a flowchart which shows the interference determination process by the interference determination part 4. FIG. 図11のステップS205にて諸元等格納部411に記憶された角度テーブルの一例を示す図である。It is a figure which shows an example of the angle table memorize | stored in the specification storage part 411 in step S205 of FIG. 図11のループ1内のある時刻におけるステップS208からステップS210の処理の具体例を示す図である(i=1の場合)。FIG. 12 is a diagram illustrating a specific example of processing from step S208 to step S210 at a certain time in the loop 1 of FIG. 11 (when i = 1). 図11のループ1内のある時刻におけるステップS208からステップS210の処理の具体例を示す図である(i=2の場合)。It is a figure which shows the specific example of the process of step S208 to step S210 at a certain time in the loop 1 of FIG. 11 (when i = 2). 図11のループ1内のある時刻におけるステップS208からステップS210の処理の具体例を示す図である(i=6の場合)。It is a figure which shows the specific example of the process of step S208 to step S210 at a certain time in the loop 1 of FIG. 11 (when i = 6). 占有情報記録部425による占有領域の特定方法を説明するための図である。It is a figure for demonstrating the identification method of the occupation area by the occupation information recording part 425. FIG. 占有情報記録部425による占有領域の特定方法を説明するための図である(手順1)。It is a figure for demonstrating the identification method of the occupation area by the occupation information recording part 425 (procedure 1). 占有情報記録部425による占有領域の特定方法を説明するための図である(手順2)。It is a figure for demonstrating the identification method of the occupation area by the occupation information recording part 425 (procedure 2). 占有情報記録部425による占有領域の特定方法を説明するための図である(手順3)。It is a figure for demonstrating the identification method of the occupation area by the occupation information recording part 425 (procedure 3).

以下、添付図面を参照して本発明にかかる干渉判定装置および干渉判定方法の好適な実施形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。   DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of an interference determination device and an interference determination method according to the present invention will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same elements are denoted by the same reference numerals, and redundant description is omitted.

[双腕ロボットシステム100の全体構成]
まず、本発明の実施形態に係る双腕ロボットシステム100の全体構成について、図1〜3を参照しながら説明する。図1は、双腕ロボットシステム100の構成概要図である。図1に示すように、双腕ロボットシステム100は、軌道生成部1、サーボドライバ2a〜2d、双腕ロボット3、および干渉判定部4を含んで構成され、各構成要素は例えば図1にて矢印で表現される通信手段により互いに通信できるように接続されている。図2は双腕ロボット3の側面概要図であり、図3は双腕ロボット3の上面概要図である。
[Overall configuration of dual-arm robot system 100]
First, an overall configuration of a double-arm robot system 100 according to an embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a schematic configuration diagram of a double-arm robot system 100. As shown in FIG. 1, the dual-arm robot system 100 includes a trajectory generator 1, servo drivers 2 a to 2 d, a dual-arm robot 3, and an interference determination unit 4. The communication means represented by the arrows are connected so as to communicate with each other. FIG. 2 is a schematic side view of the double-arm robot 3, and FIG. 3 is a schematic top view of the double-arm robot 3.

双腕ロボット3は、例えば図2および図3に示されるように、先端に昇降軸313および323を持つ二台の水平多関節アーム31および32を有する。水平多関節アーム31および32は、人間の両腕のように作業領域の少なくとも一部が重複する間隔で例えばワーク5を挟んで配置される。各アームの第1軸311および321の付け根(双腕ロボット3の肩部分)と、第2軸312および322の付け根(双腕ロボット3のひじ部分)には、それぞれ、サーボモータ3a〜3dが設けられている。この構成により各軸は水平方向に旋回移動できるようになっている。   For example, as shown in FIGS. 2 and 3, the double-arm robot 3 has two horizontal articulated arms 31 and 32 having elevating shafts 313 and 323 at their tips. The horizontal articulated arms 31 and 32 are arranged, for example, with the workpiece 5 sandwiched therebetween at intervals where at least a part of the work area overlaps like both human arms. Servo motors 3a to 3d are provided at the roots of the first axes 311 and 321 of each arm (shoulder portion of the double-arm robot 3) and the roots of the second axes 312 and 322 (elbow portions of the double-arm robot 3), respectively. Is provided. With this configuration, each axis can turn in the horizontal direction.

図1にて示される軌道生成部1は、双腕ロボット3の各部位が現在位置から目標位置まで移動できるように、各関節の移動量および移動速度を演算し、各サーボドライバに指令を送る部分である。軌道生成部1は、記憶部11および演算部12を含んで構成される。記憶部11は、軌道生成に必要な双腕ロボット3の概形寸法や移動に関する補間情報ならびに速度情報などの諸元と、教示もしくはロボット言語によるプログラミングによって記述されたロボットの動作順序を制御する動作プログラム、および干渉判定に必要な干渉条件を格納する部分である。演算部12は、双腕ロボット3の各部位が現在位置から目標位置まで移動できるように、各関節の移動量および移動速度を演算する部分である。双腕ロボット3の移動前に、軌道生成部1の演算部12は干渉判定部4へ、移動前の位置から移動後の位置に移動する場合の移動中および移動後の干渉の有無を問い合わせる。   The trajectory generator 1 shown in FIG. 1 calculates the movement amount and movement speed of each joint so that each part of the double-arm robot 3 can move from the current position to the target position, and sends a command to each servo driver. Part. The trajectory generation unit 1 includes a storage unit 11 and a calculation unit 12. The storage unit 11 controls the dimensions of the two-arm robot 3 necessary for trajectory generation, such as interpolation information and speed information regarding movement, and the robot operation sequence described by teaching or programming in a robot language. It is a part for storing the program and interference conditions necessary for interference determination. The calculation unit 12 is a part that calculates the movement amount and movement speed of each joint so that each part of the double-arm robot 3 can move from the current position to the target position. Before the movement of the double-arm robot 3, the calculation unit 12 of the trajectory generation unit 1 inquires of the interference determination unit 4 about the presence or absence of interference during and after movement when moving from the position before movement to the position after movement.

サーボドライバ2a〜2dは、軌道生成部1からの指令を受けて、双腕ロボット3の各関節に設けられたサーボモータ3a〜3dをそれぞれ駆動し、駆動後の現在位置を軌道生成部1にフィードバックする部分である。   The servo drivers 2 a to 2 d receive the command from the trajectory generator 1, respectively drive the servo motors 3 a to 3 d provided at each joint of the double-arm robot 3, and set the current position after driving to the trajectory generator 1. This is the part that feeds back.

[干渉判定部4の構成]
以下、双腕ロボットシステム100の一構成要素である干渉判定部4(特許請求の範囲における「干渉判定装置」に相当)の構成について、図4〜図9を更に参照しながら詳細に説明する。干渉判定部4は、軌道生成部1から問い合わせを受けて、3次元で動作する双腕ロボット3の各部位(移動部位)と、障害物としてワークまたは治具の各部位(固定部位)に対して干渉判定を行う部分である。図4は、干渉判定部4の機能的構成要素を示したブロック図である。図4に示されるように、干渉判定部4は、格納部41および干渉判定演算部42を含んで構成される。なお、以下の説明においては、「移動部位」とは、双腕ロボット3および障害物5の各部位のうち移動を伴う部位をいい、「固定部位」とは、双腕ロボット3および障害物5の各部位のうち移動を伴わない部位をいい、「部位」は、移動部位と固定部位の総称である。
[Configuration of Interference Determination Unit 4]
Hereinafter, the configuration of the interference determination unit 4 (corresponding to the “interference determination device” in the claims), which is a component of the dual-arm robot system 100, will be described in detail with further reference to FIGS. The interference determination unit 4 receives an inquiry from the trajectory generation unit 1 and applies each part (moving part) of the dual-arm robot 3 operating in three dimensions and each part (fixed part) of the workpiece or jig as an obstacle. This is the part that performs interference determination. FIG. 4 is a block diagram illustrating functional components of the interference determination unit 4. As shown in FIG. 4, the interference determination unit 4 includes a storage unit 41 and an interference determination calculation unit 42. In the following description, “moving part” refers to a part of the two-arm robot 3 and the obstacle 5 that accompanies movement, and “fixed part” refers to the double-arm robot 3 and the obstacle 5. Of these parts, a part that does not move is referred to, and “part” is a general term for a moving part and a fixed part.

干渉判定部4の格納部41は、諸元等格納部411、干渉情報格納部412(特許請求の範囲における「干渉情報格納手段」に相当)、および干渉条件情報格納部413(特許請求の範囲における「干渉条件情報格納手段」に相当)を含んで構成される。諸元等格納部411は、電源投入後に受け取った双腕ロボット3の諸元、および軌道生成部1からの問い合わせ毎に受け取った移動前後の移動部位毎の角度を格納する部分である。干渉情報格納部412は、双腕ロボット3および障害物5の移動部位における干渉情報を格納する部分である。干渉情報は、後に詳細に説明されるように、移動部位が他の部位との間で立体交差する際に、干渉を伴わない場合には「0」を、干渉を伴う場合には「1」を表す情報である。干渉条件情報格納部413は、干渉条件情報を移動部位ごとに格納する部分である。干渉条件情報は、後に詳細に説明されるように、干渉情報に基づき設定され、双腕ロボット3および障害物5の各部位の数と同数の複数の桁数を有し、移動部位が他の部位との間で立体交差する際に干渉を伴うか否かを表す情報である。   The storage unit 41 of the interference determination unit 4 includes a specification etc. storage unit 411, an interference information storage unit 412 (corresponding to “interference information storage means” in the claims), and an interference condition information storage unit 413 (claims). The “interference condition information storage means” in FIG. The specification storage unit 411 is a part that stores the specifications of the double-arm robot 3 received after power-on and the angles of the moving parts before and after the movement received for each inquiry from the trajectory generation unit 1. The interference information storage unit 412 is a part that stores interference information on the moving parts of the double-arm robot 3 and the obstacle 5. As will be described in detail later, the interference information is “0” when there is no interference when the moving part intersects with another part, and “1” when there is interference. Is information. The interference condition information storage unit 413 is a part that stores interference condition information for each moving part. As will be described later in detail, the interference condition information is set based on the interference information, has a plurality of digits equal to the number of each part of the double-arm robot 3 and the obstacle 5, and the moving part has another number. This is information indicating whether or not interference occurs when a three-dimensional intersection is made with a part.

干渉判定部4の干渉判定演算部42は、格納部41に格納された各情報に基づき干渉判定を行う部分である。干渉判定演算部42は、双腕ロボット3の移動前後の各関節の角度に対して、更に一定時間毎に分割された移動過程の各関節の角度に対して、それぞれ干渉判定を行う。干渉判定演算部42は、図4に示されるように、識別番号割当部421(特許請求の範囲における「識別番号割当手段」に相当)、干渉情報生成部422(特許請求の範囲における「干渉情報格納手段」に相当)、干渉条件情報生成部423(特許請求の範囲における「干渉条件情報格納手段」に相当)、マス目管理部424(特許請求の範囲における「マス目管理手段」に相当)、占有情報記録部425(特許請求の範囲における「占有情報記録手段」に相当)、および判断部426(特許請求の範囲における「判断手段」に相当)を含んで構成される。以下、干渉判定演算部42を構成する各構成要素について詳細に説明する。   The interference determination calculation unit 42 of the interference determination unit 4 is a part that performs interference determination based on each piece of information stored in the storage unit 41. The interference determination calculation unit 42 performs interference determination with respect to the angles of the joints before and after the movement of the dual-arm robot 3 and with respect to the angles of the joints in the movement process divided every predetermined time. As shown in FIG. 4, the interference determination calculation unit 42 includes an identification number assigning unit 421 (corresponding to “identification number assigning means” in the claims), an interference information generating unit 422 (“interference information in the claims”). Storage condition ”), interference condition information generation unit 423 (corresponding to“ interference condition information storage means ”in the claims), and grid management unit 424 (corresponding to“ cell management means ”in the claims) And an occupancy information recording unit 425 (corresponding to “occupation information recording means” in claims) and a determination unit 426 (corresponding to “determination means” in claims). Hereinafter, each component which comprises the interference determination calculating part 42 is demonstrated in detail.

[識別番号割当部421]
識別番号割当部421は、双腕ロボット3および障害物5の各部位に識別番号を割り当てる部分である。各識別番号は、双腕ロボット3および障害物5の各部位の数と同数の複数の桁数を有し且つ他の全ての識別番号との間で桁ごとの論理積を計算すると全ての桁が「0」となるように設定される情報である。具体的に、識別番号割当部421が図2および図3にて示した双腕ロボット3および障害物5の各部位に割り当てた識別番号IDiの一例を図5に示す。図5の一例において、識別番号割当部421は、アーム31の第1軸(第1リンク)311に対して、識別番号ID1として「1000000」を割り当てている。また、識別番号割当部421は、アーム32の昇降軸323に対して、識別番号ID6として「0000010」を割り当てている。更に、識別番号割当部421は、冶具5に対して、識別番号ID7として「0000001」を割り当てている。ここで挙げた一例においては、双腕ロボット3および障害物5の各部位が「7つ」あるため、各識別番号IDiの桁数は「7」となっている。また、ID1からID7までの桁ごとの論理積を計算すると、全ての桁において「0」となる。
[Identification number assignment unit 421]
The identification number assigning unit 421 is a part that assigns an identification number to each part of the double-arm robot 3 and the obstacle 5. Each identification number has a plurality of digits equal to the number of each part of the double-arm robot 3 and the obstacle 5, and all the digits are calculated by calculating the logical product for every digit with all other identification numbers. Is set to be “0”. Specifically, FIG. 5 shows an example of the identification number IDi assigned to each part of the double-arm robot 3 and the obstacle 5 shown in FIG. 2 and FIG. In the example of FIG. 5, the identification number assigning unit 421 assigns “1000000” as the identification number ID1 to the first axis (first link) 311 of the arm 31. Further, the identification number assigning unit 421 assigns “0000010” as the identification number ID6 to the lifting shaft 323 of the arm 32. Further, the identification number assigning unit 421 assigns “0000001” as the identification number ID 7 to the jig 5. In the example given here, the number of digits of each identification number IDi is “7” because there are “seven” parts of the double-arm robot 3 and the obstacle 5. Further, when the logical product for each digit from ID1 to ID7 is calculated, it becomes “0” in all the digits.

[干渉情報生成部422]
干渉情報生成部422は、双腕ロボット3の各移動部位と他の部位との間で、干渉のない立体交差が存在しない場合(つまり立体交差する際に干渉を伴う場合)は「1」とし、干渉のない立体交差が可能である場合(つまり立体交差する際に干渉を伴わない場合)もしくは自分自身との関係は「0」としたテーブルを作成する部分である。
[Interference Information Generation Unit 422]
The interference information generation unit 422 sets “1” when there is no solid intersection without interference between the moving parts of the double-arm robot 3 and other parts (that is, when interference occurs at the three-dimensional intersection). This is a part for creating a table in which the three-dimensional intersection without interference is possible (that is, when there is no interference at the time of three-dimensional intersection) or the relationship with itself is “0”.

具体的に、干渉情報生成部422が作成したテーブルの一例を図6に示す。図6の一例において、例えばi=1およびj=2の場合における干渉の有無を示す干渉情報t12の値は「0」であり、これはi=1に相当するアーム31の第1軸311とj=2に相当するアーム31の第2軸312との間では、干渉のない立体交差が存在すること、つまり立体交差する際に干渉を伴わないことを示す。また、例えばi=4およびj=3の場合における干渉の有無を示す干渉情報t43の値は「1」であり、これはi=4に相当するアーム32の第1軸321とj=3に相当するアーム31の昇降軸313との間では、干渉のない立体交差が存在しないこと、つまり立体交差する際に干渉を伴うことを示す。また、例えばi=5およびj=5の場合における干渉の有無を示す干渉情報t55の値は「0」であり、これはi=5に相当するアーム32の第2軸322が自分自身との間で干渉することは有り得ないことを示す。   Specifically, an example of a table created by the interference information generation unit 422 is shown in FIG. In the example of FIG. 6, for example, the value of the interference information t12 indicating the presence or absence of interference in the case of i = 1 and j = 2 is “0”, which is the same as the first axis 311 of the arm 31 corresponding to i = 1. This indicates that there is a solid intersection with no interference with the second axis 312 of the arm 31 corresponding to j = 2, that is, no interference is involved in the solid intersection. Further, for example, the value of the interference information t43 indicating the presence or absence of interference in the case of i = 4 and j = 3 is “1”, which corresponds to the first axis 321 of the arm 32 corresponding to i = 4 and j = 3. This indicates that there is no solid crossing without interference between the corresponding lifting and lowering shafts 313 of the arm 31, that is, there is interference when a solid crossing occurs. Further, for example, the value of the interference information t55 indicating the presence or absence of interference in the case of i = 5 and j = 5 is “0”, which means that the second axis 322 of the arm 32 corresponding to i = 5 It indicates that there is no possibility of interfering with each other.

干渉情報生成部422は、このようにして作成したテーブルを格納部41の干渉情報格納部412に格納させる。なお、干渉情報生成部422は、移動を伴わない部位である固定部位つまり識別番号ID7の冶具5に対しては、干渉情報t71、t72などを求めなくても良い。他の移動部位の干渉情報t17、t27などにおいて冶具5との干渉の有無が既に考慮されているからである。また、この意味では、干渉情報tijの値と干渉情報tjiの値は常に同じであるため、図6の一例をtijかtjiのうち何れか一方のみを明らかにしたテーブルにしても良い。   The interference information generation unit 422 stores the table created in this way in the interference information storage unit 412 of the storage unit 41. The interference information generation unit 422 does not need to obtain the interference information t71, t72, etc. for the fixed part that is a part that does not move, that is, the jig 5 with the identification number ID7. This is because the presence or absence of interference with the jig 5 has already been taken into account in the interference information t17, t27, etc. of other moving parts. In this sense, since the value of the interference information tij and the value of the interference information tji are always the same, the example in FIG. 6 may be a table in which only one of tij and tji is clarified.

[干渉条件情報生成部423]
干渉条件情報生成部423は、干渉条件情報を生成する部分である。干渉条件情報は、干渉情報に基づき設定され、双腕ロボット3および障害物5の各部位の数と同数の複数の桁数を有し、移動部位が他の部位との間で立体交差する際に干渉を伴うか否かを表す情報である。干渉条件情報生成部423は、下記の数式(1)により計算される情報Ciを干渉条件情報として生成する。

Figure 0005476225

ただし、hは双腕ロボット3および障害物5の各部位の数であり、iおよびjは1以上h以下の自然数であり、Ciはi番目の移動部位の干渉条件情報であり、IDjはj番目の部位の識別番号であり、tijはi番目の移動部位とj番目の部位における干渉情報である。 [Interference Condition Information Generation Unit 423]
The interference condition information generation unit 423 is a part that generates interference condition information. The interference condition information is set based on the interference information, has a plurality of digits equal to the number of each part of the double-arm robot 3 and the obstacle 5, and the moving part is three-dimensionally crossed with another part. This is information indicating whether or not there is interference. The interference condition information generation unit 423 generates information Ci calculated by the following mathematical formula (1) as interference condition information.
Figure 0005476225

Here, h is the number of each part of the double arm robot 3 and the obstacle 5, i and j are natural numbers of 1 to h, Ci is interference condition information of the i-th moving part, and IDj is j This is the identification number of the th part, and tij is the interference information in the i th moving part and the j th part.

以下、干渉条件情報生成部423による干渉条件情報の生成方法を詳細に説明する。まず、簡単な一例として、干渉判定部位が2個のみのケースを考える。すなわち、右腕(ID1=01)と左腕(ID2=10)のみの干渉判定を行う場合を考える。この場合に干渉条件情報生成部423により生成される干渉条件情報を図7に示す。なお、図7の一例においては、右腕と左腕とが立体交差する際に干渉を伴うとして、干渉情報が設定されている。つまり、t12=1であり、t21=1である。   Hereinafter, a method for generating interference condition information by the interference condition information generation unit 423 will be described in detail. First, as a simple example, consider a case where there are only two interference determination sites. That is, consider a case where interference determination is performed only on the right arm (ID1 = 01) and the left arm (ID2 = 10). FIG. 7 shows the interference condition information generated by the interference condition information generation unit 423 in this case. In the example of FIG. 7, interference information is set on the assumption that interference occurs when the right arm and the left arm are three-dimensionally crossed. That is, t12 = 1 and t21 = 1.

図7の一例において、i=1の識別番号ID1の部位である右腕に対して干渉条件情報C1を求めると、上記式(1)に従い、
C1=ID1・t11+ID2・t12…(2)
である。そして、図7の一例において、ID1=01、t11=0、ID2=10、t12=1であるため、それぞれの値を上記式(2)に代入すると、
C1=01・0+10・1=10…(3)
となり、識別番号ID1の右腕の干渉条件情報C1の値は10として求められる。
In the example of FIG. 7, when the interference condition information C1 is obtained for the right arm that is the part of the identification number ID1 with i = 1, according to the above equation (1),
C1 = ID1 · t11 + ID2 · t12 (2)
It is. In the example of FIG. 7, since ID1 = 01, t11 = 0, ID2 = 10, and t12 = 1, when the respective values are substituted into the above equation (2),
C1 = 0.01 + 10.1 = 10 (3)
Thus, the value of the interference condition information C1 of the right arm with the identification number ID1 is obtained as 10.

続いて、より複雑な例として、図2および図3にて示した干渉判定部位が7つであるケースを考える。説明の便宜上、図5および図6の場合と同様の識別番号および干渉情報について考える。この場合に干渉条件情報生成部423により生成される干渉条件情報を図8に示す。この場合において、i=1の識別番号ID1の部位であるアーム31の第1軸311に対して干渉条件情報C1を求めると、上記式(1)に従い、
C1=ID1・t11+ID2・t12+ID3・t13+ID4・t14+ID5・t15+ID6・t16+ID7・t17…(4)
である。そして、ID1=1000000、t11=0、ID2=0100000、t12=0、ID3=0010000、t13=1、ID4=0001000、t14=1、ID5=0000100、t15=0、ID6=0000010、t16=1、ID7=0000001、t17=0であるため、それぞれの値を上記式(4)に代入すると、
C1=1000000・0
+0100000・0
+0010000・1
+0001000・1
+0000100・0
+0000010・1
+0000001・0
=0011010…(5)
となり、識別番号ID1のアーム31の第1軸311の干渉条件情報C1の値は0011010として求められる。
Next, as a more complicated example, consider a case where there are seven interference determination sites shown in FIGS. For convenience of explanation, the same identification number and interference information as in FIGS. 5 and 6 will be considered. FIG. 8 shows the interference condition information generated by the interference condition information generation unit 423 in this case. In this case, when obtaining the interference condition information C1 with respect to the first axis 311 of the arm 31 that is the part of the identification number ID1 of i = 1, according to the above equation (1),
C1 = ID1 · t11 + ID2 · t12 + ID3 · t13 + ID4 · t14 + ID5 · t15 + ID6 · t16 + ID7 · t17 (4)
It is. ID1 = 1000000, t11 = 0, ID2 = 000000, t12 = 0, ID3 = 0010000, t13 = 1, ID4 = 0001000, t14 = 1, ID5 = 0000100, t15 = 0, ID6 = 0000010, t16 = 1, Since ID7 = 0000001 and t17 = 0, if each value is substituted into the above equation (4),
C1 = 1000000 ・ 0
+0100000 ・ 0
+ 0010000 · 1
+0001000 ・ 1
+0000100.0
+0000010/1
+00000001
= 0011010 (5)
Thus, the value of the interference condition information C1 of the first axis 311 of the arm 31 with the identification number ID1 is obtained as 0011010.

同様に、他の部位に対して干渉条件情報を求めることができ、その結果が図8にC2〜C6の値として示されている。干渉条件情報生成部423は、このようにして生成した干渉条件情報を格納部41の干渉条件情報格納部413に格納させる。なお、干渉条件情報生成部423は、固定部位である識別番号ID7の冶具5に対しては干渉条件情報を求めなくても良い。移動部位に対する干渉条件情報であるC1〜C6の値に、固定部位の冶具5との間の干渉の有無が既に反映されているからである。   Similarly, interference condition information can be obtained for other parts, and the result is shown as values C2 to C6 in FIG. The interference condition information generation unit 423 stores the interference condition information generated in this way in the interference condition information storage unit 413 of the storage unit 41. The interference condition information generation unit 423 does not need to obtain the interference condition information for the jig 5 having the identification number ID7 that is a fixed part. This is because the presence or absence of interference with the jig 5 of the fixed part is already reflected in the values of C1 to C6 that are the interference condition information for the moving part.

[マス目管理部424]
マス目管理部424は、双腕ロボット3の動作する空間を2次元平面上に投影した上で、その2次元平面をn1×n2のマス目に区切った判定領域を作成するとともに、そのn1×n2の個々のマス目に対応するメモリ領域を確保する部分である。図9は、マス目管理部424により作成された判定領域6の一例を示す。判定領域6は、双腕ロボット3の姿勢および障害物5の位置を演算するために要する諸元を格納した諸元等格納部411の値を元に、双腕ロボット3の動作する範囲を包含する空間、もしくは双腕ロボット3の動作する範囲の一部であって干渉判定の対象となる空間を2次元平面上に投影したn1×n2の2次元平面のマス目で表現されるものである。
[Cross section management unit 424]
The square management unit 424 projects a space in which the double-arm robot 3 operates onto a two-dimensional plane, creates a determination region that divides the two-dimensional plane into n1 × n2 squares, and also creates the n1 × This is a portion for securing a memory area corresponding to each cell of n2. FIG. 9 shows an example of the determination area 6 created by the grid management unit 424. The determination area 6 includes a range in which the dual-arm robot 3 operates based on the value of the specification storage unit 411 that stores specifications required to calculate the posture of the dual-arm robot 3 and the position of the obstacle 5. Or a part of the range in which the two-arm robot 3 operates, and is represented by a grid on an n1 × n2 two-dimensional plane obtained by projecting the space to be subjected to interference determination onto the two-dimensional plane. .

[占有情報記録部425]
占有情報記録部425は、マス目管理部424による上記n1×n2のマス目のうち、双腕ロボット3および障害物5の各部位に対応するマス目である対応マス目を特定し、占有情報を上記対応マス目に対応するメモリ領域に記録する部分である。図9は、占有情報記録部425により特定された対応マス目の一例を示す。図9の一例では、同じ平面上に投影した判定対象となる姿勢をとった双腕ロボット3や障害物5の各部位が存在する領域(以下、「占有領域」ともいう。)に対応する対応マス目が符号311m、312m、313m、321m、322m、323m、および5mで示されるように特定されている。なお、対応マス目を特定する方法については、後述の[占有領域の特定方法]の欄にて詳細に説明する。
[Occupancy information recording unit 425]
The occupancy information recording unit 425 identifies the corresponding cell that is the cell corresponding to each part of the double-arm robot 3 and the obstacle 5 among the n1 × n2 cells by the cell management unit 424, and occupies the information Is recorded in a memory area corresponding to the corresponding cell. FIG. 9 shows an example of the corresponding grid specified by the occupation information recording unit 425. In the example of FIG. 9, a correspondence corresponding to a region (hereinafter, also referred to as “occupied region”) in which each part of the double-arm robot 3 and the obstacle 5 having the posture to be determined projected on the same plane exists. The cells are identified as indicated by reference numerals 311m, 312m, 313m, 321m, 322m, 323m, and 5m. Note that the method of specifying the corresponding cell will be described in detail in the section of “Occupied area specifying method” described later.

占有情報記録部425は、対応マス目の特定後に、占有情報を当該対応マス目に対応するメモリ領域に記録する。占有情報は、双腕ロボット3および障害物5の各部位の識別番号に基づく情報であり、双腕ロボット3および障害物5の各部位の数と同数の複数の桁数を有する情報である。占有情報記録部425は、占有情報を記録する対象となるメモリ領域が初期化されている場合には、対応マス目を占有する部位の識別番号を占有情報としてメモリ領域に記録する。一方で、占有情報記録部425は、占有情報を記録する対象となるメモリ領域が初期化されていない場合(既に占有情報が記録されている場合)には、既存の占有情報と対応マス目を占有する部位の識別番号との間の桁ごとの論理和を占有情報としてメモリ領域に記録する。占有情報記録部425による占有情報の記録により、個々のマス目を占有する双腕ロボット3および障害物5の各部位に対応するビットが立った状態となる。なお、占有情報記録部425による動作の詳細については後述する。   The occupancy information recording unit 425 records the occupancy information in the memory area corresponding to the corresponding cell after specifying the corresponding cell. The occupation information is information based on the identification numbers of the parts of the double-arm robot 3 and the obstacle 5, and is information having a plurality of digits equal to the number of parts of the double-arm robot 3 and the obstacle 5. The occupation information recording unit 425 records, in the memory area, the identification number of the part that occupies the corresponding cell as the occupation information when the memory area to be recorded with the occupation information is initialized. On the other hand, the occupancy information recording unit 425, when the memory area to which occupancy information is to be recorded has not been initialized (when the occupancy information has already been recorded), A logical sum for each digit between the identification numbers of the occupied parts is recorded in the memory area as occupation information. By recording the occupation information by the occupation information recording unit 425, a bit corresponding to each part of the double-arm robot 3 and the obstacle 5 that occupies each square is set. Details of the operation by the occupation information recording unit 425 will be described later.

[判断部426]
判断部426は、占有情報および干渉条件情報における桁ごとの論理積を対応マス目ごとに求め、当該論理積の結果に基づき干渉判断を行うものである。判断部426は、当該論理積の結果が全ての桁において「0」であれば、双腕ロボット3および障害物5の各部位同士は干渉しないと判断する。一方で、判断部426は、当該論理積の結果が少なくとも一つの桁において「1」であれば、双腕ロボット3および障害物5の各部位同士は干渉すると判断する。判断部426は、干渉判断の結果を示す情報を軌道生成部1に出力する。判断部426は、干渉判断の結果を出力する際に、干渉が生じている部位を特定する情報をともに出力するようにしても良い。
[Judgment Unit 426]
The determination unit 426 calculates a logical product for each digit in the occupation information and the interference condition information for each corresponding square, and performs interference determination based on the result of the logical product. If the result of the logical product is “0” in all digits, the determination unit 426 determines that the parts of the dual-arm robot 3 and the obstacle 5 do not interfere with each other. On the other hand, if the result of the logical product is “1” in at least one digit, the determination unit 426 determines that the parts of the dual-arm robot 3 and the obstacle 5 interfere with each other. The determination unit 426 outputs information indicating the interference determination result to the trajectory generation unit 1. When the determination unit 426 outputs the result of the interference determination, the determination unit 426 may output together information for specifying a site where the interference occurs.

[双腕ロボットシステム100の動作]
続いて、双腕ロボットシステム100により行われる動作について、図10〜図15を参照しながら説明する。下記の説明は、双腕ロボットシステム100におけるメイン処理と、干渉判定部4による干渉判定処理とに大別される。
[Operation of the dual-arm robot system 100]
Next, operations performed by the double-arm robot system 100 will be described with reference to FIGS. The following description is broadly divided into main processing in the dual-arm robot system 100 and interference determination processing by the interference determination unit 4.

[メイン処理]
まず、双腕ロボットシステム100におけるメイン処理について図10を参照しながら説明する。図10は、双腕ロボットシステム100にて行われるメイン処理を示すフローチャートである。
[Main processing]
First, main processing in the dual-arm robot system 100 will be described with reference to FIG. FIG. 10 is a flowchart showing main processing performed in the dual-arm robot system 100.

最初に、軌道生成部1の演算部12が、記憶部11に格納されているパラメータを干渉判定部4の干渉判定演算部42に送信する。このパラメータは、干渉判定の対象部位毎に設定されるものであり、上述した干渉情報tijを含む(ステップS101)。   First, the calculation unit 12 of the trajectory generation unit 1 transmits the parameters stored in the storage unit 11 to the interference determination calculation unit 42 of the interference determination unit 4. This parameter is set for each target region for interference determination, and includes the above-described interference information tij (step S101).

次に、軌道生成部1の演算部12が、各サーボドライバ2a〜2dから双腕ロボット3の各部位の現在角度を読み込む(ステップS102)。   Next, the calculation unit 12 of the trajectory generation unit 1 reads the current angle of each part of the dual-arm robot 3 from each of the servo drivers 2a to 2d (step S102).

次に、軌道生成部1の演算部12が、記憶部11に格納された動作プログラムを解析して、双腕ロボット3の各部位の移動先の角度(目標角度)を求める(ステップS103)。   Next, the calculation unit 12 of the trajectory generation unit 1 analyzes the operation program stored in the storage unit 11, and obtains the movement destination angle (target angle) of each part of the dual-arm robot 3 (step S103).

次に、軌道生成部1の演算部12が、双腕ロボット3の各部位の現在角度と目標角度を干渉判定部4の干渉判定演算部42に送信する(ステップS104)。   Next, the calculation unit 12 of the trajectory generation unit 1 transmits the current angle and the target angle of each part of the double-arm robot 3 to the interference determination calculation unit 42 of the interference determination unit 4 (step S104).

次に、軌道生成部1の演算部12は干渉判定部4の干渉判定演算部42からの判定結果信号を待つ(ステップS105)。この間、干渉判定部4では詳細を後述する干渉判定処理が行われ、双腕ロボット3のアーム31,32の移動の全体で部位同士の干渉が生じないかどうかが判定される。そして、干渉判定部4の干渉判定演算部42からの判定結果信号が「干渉なし」の場合(ステップS106:YES)、軌道生成部1の演算部12は、表示部(図示せず)に「干渉なし」の表示をさせ(ステップS107)、記憶部11に格納されている動作プログラムを実行させ、双腕ロボット3の動作制御を行う(ステップS108)。   Next, the calculation unit 12 of the trajectory generation unit 1 waits for a determination result signal from the interference determination calculation unit 42 of the interference determination unit 4 (step S105). During this time, the interference determination unit 4 performs an interference determination process, which will be described in detail later, and determines whether or not there is interference between the parts during the entire movement of the arms 31 and 32 of the dual-arm robot 3. When the determination result signal from the interference determination calculation unit 42 of the interference determination unit 4 is “no interference” (step S106: YES), the calculation unit 12 of the trajectory generation unit 1 displays “ “No interference” is displayed (step S107), the operation program stored in the storage unit 11 is executed, and the operation control of the dual-arm robot 3 is performed (step S108).

一方で、干渉判定部4の干渉判定演算部42からの判定結果信号が「干渉あり」の場合には(ステップS106:NO)、軌道生成部1の演算部12は、表示部(図示せず)に「干渉あり」の表示をさせ(ステップS109)、そのまま処理を終了させる。以上のように軌道生成部1は、双腕ロボット3の移動の全体で部位同士の干渉が生じない判定結果が得られるまでサーボドライバ2a〜2dに指令を送らずに待機し、干渉が生じる場合には双腕ロボット3の各移動部位の移動を開始させない。   On the other hand, when the determination result signal from the interference determination calculation unit 42 of the interference determination unit 4 is “with interference” (step S106: NO), the calculation unit 12 of the trajectory generation unit 1 displays a display unit (not shown). ) Is displayed (step S109), and the process is terminated. As described above, the trajectory generation unit 1 waits without sending a command to the servo drivers 2a to 2d until interference is generated until a determination result is obtained that does not cause interference between parts throughout the movement of the dual-arm robot 3. The movement of each moving part of the double-arm robot 3 is not started.

[干渉判定処理]
引き続き、干渉判定部4による干渉判定処理について図11および図12を参照しながら説明する。図11は、干渉判定部4による干渉判定処理を示すフローチャートであり、図12はステップS205の説明で参照する図である。
[Interference judgment processing]
Next, interference determination processing by the interference determination unit 4 will be described with reference to FIGS. 11 and 12. FIG. 11 is a flowchart showing interference determination processing by the interference determination unit 4, and FIG. 12 is a diagram referred to in the description of step S205.

最初に、識別番号割当部421が干渉判定の対象部位毎に識別番号IDi(i=1〜h)を割り当てる(ステップS201、図5参照)。   First, the identification number assigning unit 421 assigns an identification number IDi (i = 1 to h) for each target site for interference determination (see step S201, FIG. 5).

次に、干渉条件情報生成部423が、ステップS201にて割り当てられた識別番号IDiと、干渉情報生成部422により作成され干渉情報格納部412に格納されたテーブル(図6参照)に記載された干渉情報tijに基づいて、上述した式(1)に従い干渉条件情報Ciを生成する(ステップS202、図7および図8参照)。   Next, the interference condition information generation unit 423 is described in the identification number IDi assigned in step S201 and the table created by the interference information generation unit 422 and stored in the interference information storage unit 412 (see FIG. 6). Based on the interference information tij, the interference condition information Ci is generated according to the above-described equation (1) (see step S202, FIG. 7 and FIG. 8).

次に、マス目管理部424が、判定領域(n1×n2のマス目領域、図9参照)に対応するメモリ領域を確保する(ステップS203)。   Next, the grid management unit 424 secures a memory area corresponding to the determination area (n1 × n2 grid area, see FIG. 9) (step S203).

次に、干渉判定演算部42はステップS104(図10参照)にて軌道生成部1から双腕ロボット3の各部位の現在角度と目標角度が入力されることを待つ(ステップS204)。   Next, the interference determination calculation unit 42 waits for the current angle and the target angle of each part of the dual arm robot 3 to be input from the trajectory generation unit 1 in step S104 (see FIG. 10) (step S204).

軌道生成部1から双腕ロボット3の各部位の現在角度と目標角度の入力があった場合に(ステップS204:YES)、干渉判定演算部42は、双腕ロボット3の各部位の目標角度と現在角度の差Δθおよび各部位の速度パラメータから一定時間間隔の各部位の角度を求め、これを諸元等格納部411の角度テーブルに記憶する。図示はしないが、この処理のために干渉判定演算部42が別途の処理部を備えていても良い。図12は諸元等格納部411に記憶された角度テーブルの一例を示す。図12に示されるように、角度テーブルは、一定時間間隔毎のレコード(レコード数:m)に部位毎のフィールドを備えて構成されるものである(ステップS205)。   When the current angle and target angle of each part of the dual arm robot 3 are input from the trajectory generation unit 1 (step S204: YES), the interference determination calculation unit 42 determines the target angle of each part of the dual arm robot 3 and the target angle. The angle of each part at a constant time interval is obtained from the current angle difference Δθ and the speed parameter of each part, and this is stored in the angle table of the specification storage unit 411. Although not shown, the interference determination calculation unit 42 may include a separate processing unit for this processing. FIG. 12 shows an example of an angle table stored in the specification storage unit 411. As shown in FIG. 12, the angle table includes a field for each part in a record (record number: m) at regular time intervals (step S205).

以下、ステップS206からステップS213までのループ1が開始される。ステップS205の次に、マス目管理部424が、判定領域(n1×n2のマス目領域、図9参照)に対応するメモリ領域に占有情報の初期値として0を設定することにより、メモリ領域を初期化する(ステップS206)。   Thereafter, loop 1 from step S206 to step S213 is started. After step S205, the square management unit 424 sets the memory area corresponding to the determination area (n1 × n2 square area, see FIG. 9) to 0 as the initial value of the occupancy information. Initialization is performed (step S206).

次に、占有情報記録部425が、図12にて例示した角度テーブルからk番目(k=1〜m)のレコードの角度データを読み込む(ステップS207)。   Next, the occupation information recording unit 425 reads the angle data of the k-th (k = 1 to m) record from the angle table illustrated in FIG. 12 (step S207).

以下、ステップS208からステップS210までのループ2が開始される。ステップS207の次に、占有情報記録部425が、干渉判定の対象部位iの角度データと寸法パラメータから判定領域(二次元平面)において干渉判定の対象部位iが占有するマス目、すなわち対応マス目を特定する。なお、対応マス目を特定する処理については、後述の[占有領域の特定方法]の欄で詳細に説明する。また、占有情報記録部425は、特定した当該対応マス目に対応するメモリ領域に記録された占有情報を取得する(ステップS208)。   Thereafter, loop 2 from step S208 to step S210 is started. After step S207, the occupation information recording unit 425 uses the angle data and the dimension parameters of the interference determination target part i, and the cells occupied by the interference determination target part i in the determination region (two-dimensional plane), that is, the corresponding cells. Is identified. Note that the process of specifying the corresponding cell will be described in detail in the section of “Occupied area specifying method” described later. Further, the occupation information recording unit 425 acquires the occupation information recorded in the memory area corresponding to the identified corresponding cell (step S208).

次に、占有情報記録部425が、干渉判定の対象部位iが占有するメモリ領域の内、既存の占有情報が0のメモリ領域には占有情報として識別番号IDiを書き込み、既存の占有情報が0以外のメモリ領域には既存の占有情報と識別番号IDiの論理和を占有情報として書き込む(ステップS209)。   Next, the occupancy information recording unit 425 writes the identification number IDi as occupancy information in the memory area where the existing occupancy information is 0 in the memory area occupied by the interference determination target site i, and the existing occupancy information is 0. In other memory areas, the logical sum of the existing occupancy information and the identification number IDi is written as occupancy information (step S209).

次に、判断部426が、最前のステップS209の処理で占有情報を書き込んだ全てのメモリ領域について、干渉条件Ciとの論理積を求める(ステップS210)。   Next, the determination unit 426 obtains a logical product with the interference condition Ci for all the memory areas in which the occupation information is written in the process of the previous step S209 (step S210).

ステップS208からステップS210までの処理をi=hとなるまで、すなわち全ての干渉判定の対象部位について繰り返す。これにより、ループ2が終了し、ある時点kにおける双腕ロボット3の姿勢に対する干渉判定が終了する。なお、ループ2の処理の具体例については、下記の[ループ2の処理の具体例]の欄で後述する。   The processing from step S208 to step S210 is repeated until i = h, that is, all the target portions for interference determination. Thereby, the loop 2 is completed, and the interference determination with respect to the posture of the double-arm robot 3 at a certain time point k is completed. Note that a specific example of the processing of the loop 2 will be described later in the section “Specific Example of Processing of the Loop 2” below.

ループ2が終了した時点で、判断部426はステップS210にて求めたそれぞれの論理積が全ての桁において0か否かを判断する(ステップS211)。ステップS211の判断にて、全ての論理積が全ての桁において0ならば(ステップS211:YES)、判断部426は「干渉なし」を表す情報を格納部41に記憶させる(ステップS212)。一方で、ステップS211の判断にて、何れかの論理積に全ての桁において0でないものがある場合には(ステップS211:NO)、判断部426は「干渉あり」を表す情報を格納部41に記憶させる(ステップS213)。格納部41はこの記憶処理のために別途の記憶手段を更に備えていても良く、諸元等格納部411がこの記憶処理を行っても良い。   When the loop 2 ends, the determination unit 426 determines whether or not each logical product obtained in step S210 is 0 in all the digits (step S211). If it is determined in step S211 that all logical products are 0 in all digits (step S211: YES), the determination unit 426 stores information indicating “no interference” in the storage unit 41 (step S212). On the other hand, if it is determined in step S211 that any one of the logical products is not 0 in all digits (step S211: NO), the determination unit 426 stores information indicating “with interference” in the storage unit 41. (Step S213). The storage unit 41 may further include a separate storage unit for the storage process, and the specification storage unit 411 may perform the storage process.

ステップS206からステップS213までの処理をk=mとなるまで、すなわち各部位の目標角度まで繰り返す。これにより、ループ1が終了し、双腕ロボット3の各アームが目標とする姿勢に移行するまでの全ての姿勢における干渉判定処理が終了する。   The processing from step S206 to step S213 is repeated until k = m, that is, the target angle of each part. Thereby, the loop 1 is finished, and the interference determination process in all postures until each arm of the double-arm robot 3 shifts to the target posture is finished.

ループ1が終了した時点で、判断部426は、ステップS212またはステップS213にて格納部41に記憶された一定時間間隔毎の判定結果情報から最終的な判定結果を求め、これを判定結果信号として軌道生成部1に送る。判定結果は、一定時間間隔毎の判定結果情報の全てが干渉なしなら「干渉なし」、一つでも干渉ありがあれば「干渉あり」となる(ステップS214)。このような干渉判定処理により、双腕ロボット3のアーム31,32が初期の姿勢から目標とする姿勢まで動作する間の一定時間間隔毎の各姿勢について、部位同士の干渉の有無を確認することができる。   When the loop 1 is completed, the determination unit 426 obtains a final determination result from the determination result information stored in the storage unit 41 in step S212 or step S213 for each predetermined time interval, and uses this as a determination result signal. It is sent to the trajectory generator 1. The determination result is “no interference” if all of the determination result information at regular time intervals has no interference and “interference” if there is even one interference (step S214). By such interference determination processing, the presence or absence of interference between parts is confirmed for each posture at regular time intervals while the arms 31 and 32 of the double-arm robot 3 operate from the initial posture to the target posture. Can do.

[ループ2の処理の具体例]
続いて、図13〜図15を参照しながら、ループ2の処理の具体例について説明する。図13〜図15は、ループ1内のある時刻(例えばk番目の時刻)におけるステップS208からステップS210までの処理の具体例を示す。図13はi=1の場合の処理の具体例であり、図14はi=2の場合の処理の具体例であり、図15はi=6の場合の処理の具体例である。
[Specific example of loop 2 processing]
Subsequently, a specific example of the processing of the loop 2 will be described with reference to FIGS. 13 to 15 show specific examples of processing from step S208 to step S210 at a certain time in the loop 1 (for example, the k-th time). FIG. 13 shows a specific example of processing when i = 1, FIG. 14 shows a specific example of processing when i = 2, and FIG. 15 shows a specific example of processing when i = 6.

図13が示すi=1の場合には、アーム31の第1軸311に対してステップS208からステップS210までの処理が行われる。すなわち、最初に、占有情報記録部425が判定領域6において第1軸311の占有領域(図13にてドットを付した領域H1に対応するマス目)を特定する(ステップS208)。次に、占有情報記録部425がステップS208にて特定した対応マス目に対応するメモリ領域に占有情報を書き込む。この時、全てのメモリ領域は、ステップS206で初期化された状態(占有情報の初期値として「0」が書き込まれた状態)にあることから、領域H1のマス目に対応するメモリ領域には第1軸311の識別番号ID1=「1000000」が書き込まれる(ステップS209)。次に、占有情報記録部425が、最前のステップS209で書き込まれた占有情報それぞれと干渉条件C1との論理積を求める(ステップS210)。つまり、判断部426は、下記の式(6)にて示される論理積を求める。
領域H1のマス目に係る論理積=
1000000
×0011010
=0000000・・・(6)
In the case of i = 1 shown in FIG. 13, the processing from step S <b> 208 to step S <b> 210 is performed on the first axis 311 of the arm 31. That is, first, the occupation information recording unit 425 specifies the occupation area of the first axis 311 in the determination area 6 (the grid corresponding to the area H1 marked with dots in FIG. 13) (step S208). Next, the occupation information recording unit 425 writes the occupation information to the memory area corresponding to the corresponding cell identified in step S208. At this time, since all the memory areas are in the state initialized in step S206 (the state in which “0” is written as the initial value of the occupation information), there is no memory area corresponding to the square of the area H1. The identification number ID1 = “1000000” of the first axis 311 is written (step S209). Next, the occupation information recording unit 425 obtains a logical product of each of the occupation information written in the previous step S209 and the interference condition C1 (step S210). That is, the determination unit 426 calculates a logical product represented by the following equation (6).
Logical product related to squares in region H1 =
1 million
× 0011010
= 0000000 (6)

図14が示すi=2の場合には、アーム31の第2軸312に対してステップS208からステップS210までの処理が行われる。すなわち、最初に、占有情報記録部425が判定領域6において第2軸312の占有領域(図14にてドットを付した領域H2およびハッチを付した領域H3に対応するマス目)を特定する(ステップS208)。領域H2は第2軸312のみが存在する領域であり、領域H3は第2軸312と第1軸311が重なる領域である。次に、占有情報記録部425がステップS208にて特定した対応マス目に対応するメモリ領域に占有情報を書き込む。メモリ領域が初期化された状態のままの領域H2のマス目に対応するメモリ領域には第2軸312の識別番号ID2=「0100000」が書き込まれる。一方、i=1での書き込みによりメモリ領域が初期化された状態になくなっている領域H3のマス目に対応するメモリ領域には既存の占有情報「1000000」と第2軸312の識別番号ID2=「0100000」の論理和が新たな占有情報として書き込まれる。つまり、占有情報記録部425は、下記の式(7)によって示される占有情報を領域H3のマス目に対応するメモリ領域に記録する。
領域H3のマス目に対応するメモリ領域に書き込まれる占有情報=
1000000
+0100000
=1100000・・・(7)
In the case of i = 2 shown in FIG. 14, the processing from step S <b> 208 to step S <b> 210 is performed on the second axis 312 of the arm 31. That is, first, the occupation information recording unit 425 specifies the occupation area of the second axis 312 in the determination area 6 (the grid corresponding to the area H2 with dots and the area H3 with hatches in FIG. 14) ( Step S208). The region H2 is a region where only the second axis 312 exists, and the region H3 is a region where the second axis 312 and the first axis 311 overlap. Next, the occupation information recording unit 425 writes the occupation information to the memory area corresponding to the corresponding cell identified in step S208. The identification number ID2 = “0100000” of the second axis 312 is written in the memory area corresponding to the square of the area H2 with the memory area being initialized. On the other hand, the existing occupation information “1000000” and the identification number ID2 of the second axis 312 are included in the memory area corresponding to the square of the area H3 that has not been initialized by writing with i = 1. A logical sum of “0100000” is written as new occupation information. That is, the occupancy information recording unit 425 records the occupancy information represented by the following formula (7) in a memory area corresponding to the square of the area H3.
Occupancy information written in the memory area corresponding to the square of the area H3 =
1 million
+0100000
= 1100000 (7)

次に、判断部426が、領域H2と領域H3のそれぞれに対応するマス目について、次の式(8)および式(9)によって示される占有情報と干渉条件C2との論理積をマス目ごとに求める。
領域H2のマス目に係る論理積=
0100000
×0000110
=0000000・・・(8)
領域H3のマス目に係る論理積=
1100000
×0000110
=0000000・・・(9)
Next, the determination unit 426 calculates the logical product of the occupancy information and the interference condition C2 represented by the following equations (8) and (9) for each cell corresponding to each of the region H2 and the region H3. Ask for.
Logical product related to squares in region H2 =
0100000
× 0000110
= 0000000 (8)
Logical product related to the grid of area H3 =
1100000
× 0000110
= 0000000 (9)

前述のようにして、i=3で昇降軸313、i=4で第1軸321、i=5で第2軸322と、それぞれ判定対象となる部位毎に処理が進み、図15が示すi=6の場合には、アーム32の昇降軸323に対してステップS208からステップS210までの処理が行われる。すなわち、最初に、占有情報記録部425が判定領域6において昇降軸323の占有領域(図15にてドットを付した領域H4、ハッチを付した領域H5、領域H6、および領域H7に対応するマス目)を特定する(ステップS208)。領域H4は昇降軸323のみが存在する領域であり、領域H5は昇降軸323とアーム32の第2軸322が重なる領域であり、領域H6は昇降軸323とアーム31の第2軸312が重なる領域であり、領域H7は昇降軸323とアーム31の第1軸311および第2軸312が重なる領域である。   As described above, the process proceeds for each part to be determined, i = 3, elevating shaft 313, i = 4, first axis 321, i = 5, second axis 322, and i shown in FIG. In the case of = 6, the process from step S208 to step S210 is performed on the lifting shaft 323 of the arm 32. That is, first, the occupancy information recording unit 425 displays the blocks corresponding to the occupying area of the lifting shaft 323 in the determination area 6 (the area H4 with dots in FIG. 15, the area H5 with hatching, the area H6, and the area H7). Eye) is specified (step S208). Region H4 is a region where only the lifting shaft 323 exists, region H5 is a region where the lifting shaft 323 and the second shaft 322 of the arm 32 overlap, and region H6 overlaps the lifting shaft 323 and the second shaft 312 of the arm 31. The region H7 is a region where the elevating shaft 323 and the first shaft 311 and the second shaft 312 of the arm 31 overlap.

次に、占有情報記録部425がステップS208にて特定した対応マス目に対応するメモリ領域に占有情報を書き込む。メモリが初期化された状態のままの領域H4のマス目に対応するメモリ領域には、昇降軸323の識別番号ID6=「0000010」が書き込まれる。一方、i=5での書き込みによりメモリが初期化された状態になくなっている領域H5の対応マス目に対応するメモリ領域には、既存の占有情報としてのアーム32の第2軸322の識別番号ID5=「0000100」と昇降軸323の識別番号ID6=「0000010」の論理和が新たな占有情報として書き込まれる。つまり、占有情報記録部425は、下記の式(10)によって示される占有情報を領域H5のマス目に対応するメモリ領域に記録する。
領域H5のマス目に対応するメモリ領域に書き込まれる占有情報=
0000100
+0000010
=0000110・・・(10)
Next, the occupation information recording unit 425 writes the occupation information to the memory area corresponding to the corresponding cell identified in step S208. The identification number ID6 = “0000010” of the lifting shaft 323 is written in the memory area corresponding to the square of the area H4 where the memory is initialized. On the other hand, the identification number of the second axis 322 of the arm 32 as the existing occupancy information is stored in the memory area corresponding to the corresponding cell of the area H5 where the memory is not initialized by writing at i = 5. A logical sum of ID5 = “0000100” and identification number ID6 = “0000010” of the lifting shaft 323 is written as new occupation information. That is, the occupancy information recording unit 425 records the occupancy information represented by the following formula (10) in a memory area corresponding to the square of the area H5.
Occupancy information written in the memory area corresponding to the square of the area H5 =
0000100
+0000010
= 0000110 (10)

また、i=2での書き込みによりメモリが初期化された状態になくなっている領域H6のマス目に対応するメモリ領域には、既存の占有情報としてのアーム1の第2軸321の識別番号ID2=「0100000」と昇降軸323の識別番号ID6=「0000010」の論理和が新たな占有情報として書き込まれる。つまり、占有情報記録部425は、下記の式(11)によって示される占有情報を領域H6のマス目に対応するメモリ領域に記録する。
0100000
+0000010
=0100010・・・(11)
Further, the identification number ID2 of the second axis 321 of the arm 1 as the existing occupancy information is stored in the memory area corresponding to the square of the area H6 in which the memory is not initialized by writing at i = 2. = “0100000” and the logical sum of the identification number ID6 = “0000010” of the lifting shaft 323 are written as new occupation information. That is, the occupation information recording unit 425 records the occupation information represented by the following formula (11) in the memory area corresponding to the square of the area H6.
0100000
+0000010
= 0100010 (11)

更に、i=1およびi=2での書き込みによりメモリが初期化された状態になくなっている領域H7のマス目に対応するメモリ領域には、既存の占有情報としてのアーム1の第1軸311の識別番号ID1=「1000000」と第2軸312の識別番号ID2=「0100000」と昇降軸323の識別番号ID6=「0000010」の論理和が新たな占有情報として書き込まれる。つまり、占有情報記録部425は、下記の式(12)によって示される占有情報を領域H6のマス目に対応するメモリ領域に記録する。
1000000
+0100000
+0000010
=1100010・・・(12)
Furthermore, the first axis 311 of the arm 1 as the existing occupancy information is stored in the memory area corresponding to the square of the area H7 where the memory is not initialized by writing with i = 1 and i = 2. The logical sum of the identification number ID1 = “1000000”, the identification number ID2 = “0100000” of the second axis 312 and the identification number ID6 = “0000010” of the lifting shaft 323 is written as new occupation information. That is, the occupancy information recording unit 425 records the occupancy information represented by the following formula (12) in a memory area corresponding to the square of the area H6.
1 million
+0100000
+0000010
= 1100010 (12)

次に、判断部426が、領域H4ないし領域H7のそれぞれに対応するマス目について、次の式(13)ないし式(16)によって示される占有情報と干渉条件C6との論理積をマス目ごとに求める。
領域H4のマス目に係る論理積=
0000010
×1111001
=0000000・・・(13)
領域H5のマス目に係る論理積=
0000110
×1111001
=0000000・・・(14)
領域H6のマス目に係る論理積=
0100010
×1111001
=0100000・・・(15)
領域H7のマス目に係る論理積=
1100010
×1111001
=1100000・・・(16)
Next, the determination unit 426 calculates the logical product of the occupation information indicated by the following equations (13) to (16) and the interference condition C6 for each cell corresponding to each of the regions H4 to H7. Ask for.
Logical product related to squares in region H4 =
0000010
× 1111001
= 0000000 (13)
Logical product related to square in area H5 =
0000110
× 1111001
= 0000000 (14)
Logical product related to grid in area H6 =
0100010
× 1111001
= 0100000 (15)
Logical product related to square in area H7 =
1100010
× 1111001
= 1100000 (16)

以上、ループ2の処理の具体例について説明したが、このようにしてループ2が終了する(全ての判定対象部位について占有情報と干渉条件との論理積とが求まる)と、判断部426は、それぞれの論理積が0か否かを判断する(ステップS211)。この場合、判断部426は、上述の具体例におけるi=1およびi=2の時のように論理積の結果が全ての桁で0であれば、干渉は生じないと判断する。実際、具体例のi=1の場合、第1軸311が自分自身と干渉することはあり得ない。また、i=2の場合は、第1軸311と第2軸312とは関節でつながって立体交差しており、干渉することはあり得ない。一方、上述の具体例におけるi=6の時のように論理積の結果が0でない(少なくとも一つの桁が1である)場合は、干渉が生じると判断する。なお、干渉が生じる場所は、上記の式(15)および式(16)において値が「1」である桁と同一桁で値を「1」とする識別番号の部位である。つまり、上記の式(15)において値が「1」である桁は左から二番目の桁であり、この桁で値を「1」とする識別番号の部位はアーム31の第2軸312(識別番号「0100000」)である。したがって、昇降軸323はアーム31の第2軸312と干渉することがわかる。また、式(16)において値が「1」である桁は左から一番目と二番目の各桁であり、これらの桁で値を「1」とする識別番号の部位はアーム31の第1軸311(識別番号「1000000」)と第2軸312(識別番号「0100000」)である。したがって、昇降軸323はアーム31の第1軸311と第2軸312とが重なる位置、つまり右ひじ部においても干渉を生じることがわかる。   The specific example of the processing of the loop 2 has been described above, but when the loop 2 ends in this way (when the logical product of the occupation information and the interference condition is obtained for all the determination target parts), the determination unit 426 It is determined whether or not each logical product is 0 (step S211). In this case, the determination unit 426 determines that interference does not occur if the result of the logical product is 0 in all the digits as in the case of i = 1 and i = 2 in the specific example described above. In fact, when i = 1 in the specific example, the first axis 311 cannot interfere with itself. In addition, when i = 2, the first axis 311 and the second axis 312 are connected by a joint and are three-dimensionally crossed and cannot interfere with each other. On the other hand, when the result of the logical product is not 0 (at least one digit is 1) as in the case of i = 6 in the above specific example, it is determined that interference occurs. The place where the interference occurs is the part of the identification number having the same digit as the digit having the value “1” and the value “1” in the equations (15) and (16). That is, in the above formula (15), the digit having the value “1” is the second digit from the left, and the part of the identification number having the value “1” in this digit is the second axis 312 ( Identification number “0100000”). Therefore, it can be seen that the lifting shaft 323 interferes with the second shaft 312 of the arm 31. Further, in the equation (16), the digit having the value “1” is the first and second digits from the left, and the part of the identification number having the value “1” in these digits is the first of the arm 31. The axis 311 (identification number “100000”) and the second axis 312 (identification number “0100000”). Therefore, it can be seen that the lifting shaft 323 causes interference also at the position where the first shaft 311 and the second shaft 312 of the arm 31 overlap, that is, at the right elbow.

なお、図13〜図15では説明の便宜上マス目(メモリ領域)を大きく設定して説明した。しかし、実際のマス目は図13〜図15の例よりもっと小さい設定となる。   In FIG. 13 to FIG. 15, for convenience of explanation, the grid (memory area) is set large. However, the actual grid is set to be smaller than the examples of FIGS.

[占有領域の特定方法]
前述したように、占有情報記録部425は、マス目管理部424が作成したn1×n2のマス目(判定領域、図9参照)のうち、ある時点における双腕ロボット3および障害物5の各部位が存在する領域(占有領域)に対応する対応マス目を特定する。以下、占有情報記録部425による占有領域の特定方法について、図16〜図19を参照し、具体例を挙げながら詳細に説明する。
[Occupied area identification method]
As described above, the occupancy information recording unit 425 includes each of the two-arm robot 3 and the obstacle 5 at a certain point in time among the n1 × n2 cells (determination region, see FIG. 9) created by the cell management unit 424. Corresponding cells corresponding to the region where the part exists (occupied region) are specified. Hereinafter, a method for specifying the occupied area by the occupied information recording unit 425 will be described in detail with reference to FIGS. 16 to 19 and specific examples.

図16は、占有情報記録部425による占有領域の特定方法を説明するための図である。この図16に示す例は、前後に関節AAおよび関節BBを有するアームCCがXY平面上において存在する領域(アームCCの占有領域、図16ではグレーで表示された領域K)を特定する例である。また、図16に示す例は、例えば前述したアーム31の第1軸311に対して、その対応マス目を特定するための例として理解されることができ、この場合の第1軸311は図16に示すアームCCに該当する。なお、この場合の第1軸311は、例えばオーバル形状である。また、実際のXY平面は、図9に示した判定領域に係るn1×n2のマス目が全て存在可能な平面領域が確保されるが、図16では説明の便宜上、アームCCの部分だけを拡大して示している。その特定方法としては、図16のXY平面上に存在する点(マス目を構成する4つの頂点)に対して、下記の手順1〜手順3を行い、各点がアームCCの占有領域に含まれるか否かを判定することで、XY平面上におけるアームCCの占有領域を特定することができる。   FIG. 16 is a diagram for explaining a method of specifying the occupied area by the occupied information recording unit 425. The example shown in FIG. 16 is an example of specifying a region where the arm CC having the joint AA and the joint BB before and after exists on the XY plane (the occupied region of the arm CC, the region K displayed in gray in FIG. 16). is there. Further, the example shown in FIG. 16 can be understood as an example for specifying the corresponding square with respect to the first axis 311 of the arm 31 described above, for example, and the first axis 311 in this case is shown in FIG. This corresponds to the arm CC shown in FIG. In this case, the first shaft 311 has, for example, an oval shape. Further, in the actual XY plane, a plane area in which all of the n1 × n2 grids related to the determination area shown in FIG. 9 can be secured, but in FIG. 16, only the arm CC portion is enlarged for convenience of explanation. As shown. As the specifying method, the following steps 1 to 3 are performed on the points (four vertices constituting the grid) existing on the XY plane of FIG. 16, and each point is included in the occupied area of the arm CC. By determining whether or not the arm CC is occupied, the occupied area of the arm CC on the XY plane can be specified.

この例において、関節AAの中心座標、関節BBの中心座標、およびアームCCの幅は、既知の情報である。これらの既知の情報は、軌道生成部1の記憶部11に格納されており、干渉判定演算部42に送信される。図16において、関節AAの中心座標は点A(x、y)であり、関節BBの中心座標は点B(x、y)であり、アームCCの幅はwである。また、関節AAおよび関節BBの半径R=w/2である。つまり、
点A(x、y):関節AAの中心座標
点B(x、y):関節BBの中心座標
w:アームの幅(R=w/2)
である。また、この例において、点DはアームCCの占有領域に入っているか否かの判定対象となる点である。つまり、
点D(x、y):任意のマス目の任意の頂点
である。また、各補助線および補助点の定義は以下のとおりである。
:点A、点Bを通る直線
11:関節AAおよび関節BBを近似した円(点A、Bを中心とした半径Rの円)の接線(下側)
12:関節AAおよび関節BBを近似した円(点A、Bを中心とした半径Rの円)の接線(上側)
:点Dを通り、lと垂直に交わる直線(つまりlとlは垂直関係)
点C(x、y):lとlの交点
点A、B:点A、Bを中心とした半径Rの円の接線l1iとの接点
点E’:点AからX軸に垂線を引いたときにY座標がAと同じになる点
点B’:点DからX軸に垂線を引いたときにlと交わる点
なお、関節AAおよび関節BBの半径は同じとする。ゆえに、l、l11、およびl12は互いに並行である。また、関節AAおよび関節BBの近似円及び線分l11及びl12に囲まれた範囲(領域K)がアームCCに相当する。
In this example, the center coordinates of the joint AA, the center coordinates of the joint BB, and the width of the arm CC are known information. These pieces of known information are stored in the storage unit 11 of the trajectory generation unit 1 and transmitted to the interference determination calculation unit 42. In FIG. 16, the center coordinate of the joint AA is the point A (x 1 , y 1 ), the center coordinate of the joint BB is the point B (x 2 , y 2 ), and the width of the arm CC is w. The radius R of the joint AA and the joint BB is R = w / 2. That means
Point A (x 1 , y 1 ): Center coordinates of joint AA Point B (x 2 , y 2 ): Center coordinates of joint BB w: Arm width (R = w / 2)
It is. Further, in this example, the point D is a point to be determined as to whether or not it is in the occupied area of the arm CC. That means
Point D (x 0 , y 0 ): Any vertex of any square. The definition of each auxiliary line and auxiliary point is as follows.
l 1 : Straight line passing through points A and B 11 1: Tangent line (lower side) of a circle approximating joint AA and joint BB (circle R having a center on points A and B)
l 12 : Tangent line (upper side) of a circle approximating the joint AA and the joint BB (circle R having a center at the points A and B)
l 2: through the point D, the straight line intersecting perpendicularly with the l 1 (i.e. l 1 and l 2 vertical relationship)
Point C (x 3 , y 3 ): intersection of l 1 and l 2 Point A i , B i : Point of contact with tangent l 1i of circle with radius R centered on points A and B Point E ′: From point A A point where the Y coordinate is the same as A 1 when a perpendicular is drawn on the X axis Point B ′: A point where it intersects with l 1 when a perpendicular is drawn from the point D to the X axis The radius of the joints AA and BB is The same. Therefore, l 1 , l 11 , and l 12 are parallel to each other. Further, a range (region K) surrounded by the approximate circles and the line segments l 11 and l 12 of the joint AA and the joint BB corresponds to the arm CC.

(手順1)
最初に、図17に示すルールに従い、判定対象部位(アームCC)が位置する座標系を特定し、占有される可能性のあるマス目領域を限定する。点Dの座標(x、y)が、
(xmin< x< xmax)…(17)
および
(ymin <y< ymax)…(18)
を満たすならば、点Dは判定対象部位の占有領域に含まれる可能性がある。この範囲外のマス目は、下記の手順3の項で後述する円形部分に含まれるか、もしくは判定対象部位の占有領域に含まれないことになる。
(Procedure 1)
First, according to the rule shown in FIG. 17, the coordinate system where the determination target part (arm CC) is located is specified, and the grid area that may be occupied is limited. The coordinates (x 0 , y 0 ) of point D are
(X min <x 0 <x max) ... (17)
And (y min <y 0 <y max ) (18)
If the condition is satisfied, the point D may be included in the occupied region of the determination target part. The squares outside this range are included in a circular portion described later in the procedure 3 below, or are not included in the occupied region of the determination target part.

ここで、x12wおよびy12wは、三角形ABEと三角形AAE’との相似関係より、
ab:a12:b12= R:y12w:x12w
(但し、a12=y−y、b12=x−x
が成り立つから、方向性を加味して、
12w= −R b12/Lab
12w= −R a12/Lab
として与えられる。Labは、三平方の定理から、

Figure 0005476225

となる。 Here, x 12w and y 12w are based on the similarity between the triangle ABE and the triangle AA 1 E ′,
L ab : a 12 : b 12 = R: y 12w : x 12w
(However, a 12 = y 1 -y 2 , b 12 = x 1 -x 2)
Therefore, taking into account the direction,
x 12w = -R b 12 / L ab
y 12w = -R a 12 / Lab
As given. L ab is from the three-square theorem,
Figure 0005476225

It becomes.

(手順2)
次に、上記の式(17)および(18)、つまり(xmin <x< xmax)および(ymin< y< ymax)を満たす各マス目の点Dが、図18にてグレーで表示された領域K1に入るか否かを判定する。これには、点Dから線分lまでの垂線の長さLcdがR以下となるかどうか、すなわち、
cd≦ R…(19)
となるかどうかを判定すればよい。これが成立すれば、点Dを有するマス目は占有領域に含まれることになる。
(Procedure 2)
Next, the points D of the cells satisfying the above equations (17) and (18), that is, (x min <x 0 <x max ) and (y min <y 0 <y max ) are shown in FIG. It is determined whether or not the region K1 displayed in gray is entered. This includes whether or not the length L cd of the perpendicular from point D to line segment l 1 is less than or equal to R, ie
L cd ≦ R (19)
What is necessary is just to determine whether it becomes. If this is established, the grid having the point D is included in the occupied area.

ここで、Lcdは、以下の通り、軌道生成部1の記憶部11に格納されていたパラメータ等から与えられる既知の条件値から求めることができる。まず、線分lの方程式は、傾きをa1、切片をbとすると、
x+ b= y
である。これにより、図18における点B’の座標は、X座標が点Dと同じxであるから、(x、a + b) である。したがって、2点DB’間の距離Ldb’は、
db’ =y − (a + b
である。ここで、三角形ABEと三角形DB’Cとが相似関係となることから、
db’ :Lcd = Lab : (x− x
が成り立つ。これを、2点CD間の距離Lcdについて解けば、
cd= (x −x) Ldb’ /Lab
= (x −x) {y − (a + b)} / Lab
= −(x− x) [y − {(y - y)/(x - x)} x− (y- x)/(x - x) ]/ Lab
= {(y - y)x−(x− x)y+ (y- x)} /Lab
但し、上記の通り、

Figure 0005476225

である。 Here, L cd can be obtained from a known condition value given from parameters stored in the storage unit 11 of the trajectory generation unit 1 as follows. First, the equation of the line segment l 1 is expressed as follows, where the slope is a 1 and the intercept is b 1 .
a 1 x + b 1 = y
It is. Accordingly, the coordinate of the point B ′ in FIG. 18 is (x 0 , a 1 x 0 + b 1 ) because the X coordinate is x 0 which is the same as the point D. Therefore, the distance L db ′ between the two points DB is
L db ′ = y 0 − (a 1 x 0 + b 1 )
It is. Here, since the triangle ABE and the triangle DB′C are similar,
L db ′ : L cd = L ab : (x 2 −x 1 )
Holds. Solving for the distance L cd between the two points CD,
L cd = (x 2 −x 1 ) L db ′ / L ab
= (X 2 -x 1 ) {y 0- (a 1 x 0 + b 1 )} / Lab
= − (X 1 −x 2 ) [y 0 − {(y 1 −y 2 ) / (x 1 −x 2 )} x 0 − (y 2 x 1 −x 2 y 1 ) / (x 1 −x 2 )] / Lab
= {(Y 1 - y 2 ) x 0 - (x 1 - x 2) y 0 + (y 2 x 1 - x 2 y 1)} / L ab
However, as above
Figure 0005476225

It is.

(手順3)
最後に、全てのマス目を対象に、点Dが図19にてグレーで表示された円形領域K2に入るか否かを判定する。座標(x、y)を中心とする半径Rの円の方程式は、
(x −x+ (y −y =R
であるから、円の境界を含む内側は、
(x −x+ (y −y ≦R
と表現できる。ここで、点D(x、y)に対して関節AAおよび関節BBの2つの円を考えれば、
(x−x+ (y −y ≦R…(20)
(x−x+ (y −y ≦R…(21)
のいずれかが成立すれば、点D(x、y)を有するマス目は占有領域に含まれることになる。
(Procedure 3)
Finally, it is determined whether or not the point D enters the circular area K2 displayed in gray in FIG. The equation for a circle of radius R centered at coordinates (x i , y i ) is
(X−x i ) 2 + (y−y i ) 2 = R 2
Therefore, the inside including the boundary of the circle is
(X−x i ) 2 + (y−y i ) 2 ≦ R 2
Can be expressed as Here, if two circles of the joint AA and the joint BB are considered with respect to the point D (x 0 , y 0 ),
(X 0 −x 1 ) 2 + (y 0 −y 1 ) 2 ≦ R 2 (20)
(X 0 −x 2 ) 2 + (y 0 −y 2 ) 2 ≦ R 2 (21)
If any of the above holds, the square having the point D (x 0 , y 0 ) is included in the occupied area.

(まとめ)
以上の説明のように、上記の手順1で特定した領域に存在する各マス目の4つの頂点座標が手順2の条件(式(19))に該当するか否かを判定し、さらに、全てのマス目の4つの頂点座標が手順3(式(20)または式(21))の条件に該当するか否かを判定する。そして、何れかの頂点が何れかの条件に該当する場合には、そのマス目はアームCC、すなわち判定対象部位iの占有領域に含まれると判定する。
(Summary)
As described above, it is determined whether or not the four vertex coordinates of each square existing in the region specified in the procedure 1 above meet the condition of the procedure 2 (equation (19)), and all It is determined whether the four vertex coordinates of the square correspond to the condition of the procedure 3 (Formula (20) or Formula (21)). If any vertex meets any condition, it is determined that the square is included in the occupied area of the arm CC, that is, the determination target part i.

[本実施形態の作用及び効果]
続いて、本実施形態にかかる双腕ロボットシステム100の作用及び効果について説明する。本実施形態の双腕ロボットシステム100では、識別番号、干渉情報、干渉条件情報、および占有情報が各部位間の干渉を判定するための必須の情報として用いられる。このうち、特に干渉情報および干渉条件情報は、移動部位が他の部位との間で立体交差する際に干渉を伴わない場合の値および干渉を伴う場合の値に基づいた情報である。したがって、これら干渉情報および干渉条件情報を用いることにより、本実施形態による干渉判定の結果には各部位間の立体交差時の干渉の有無が考慮されることとなる。これにより、干渉判定の精度が向上される。
[Operation and effect of this embodiment]
Next, operations and effects of the dual arm robot system 100 according to the present embodiment will be described. In the two-arm robot system 100 of the present embodiment, the identification number, interference information, interference condition information, and occupancy information are used as essential information for determining interference between the parts. Among these, the interference information and the interference condition information are information based on a value when no interference occurs and a value when interference occurs when the moving part intersects with another part. Accordingly, by using these interference information and interference condition information, the result of the interference determination according to the present embodiment takes into consideration the presence or absence of interference at the time of a three-dimensional intersection between the parts. Thereby, the accuracy of interference determination is improved.

また、本実施形態においては、双腕ロボット3の動作する空間を2次元平面上に投影した上で、干渉判定を行うため、例えば3次元での干渉判定に比べ、干渉判定処理を短時間で行うことが可能となる。また、本実施形態で用いる干渉情報は「0」または「1」を表す情報であり、そのデータ量が少ないことから、装置全体における計算量や計算時間が短縮できる。   Further, in the present embodiment, the interference determination is performed after projecting the space in which the double-arm robot 3 operates on a two-dimensional plane, so that the interference determination process is performed in a shorter time than, for example, three-dimensional interference determination. Can be done. Also, the interference information used in the present embodiment is information representing “0” or “1”, and since the data amount is small, the calculation amount and calculation time in the entire apparatus can be shortened.

また、本実施形態で用いる識別番号、干渉条件情報、および占有情報は双腕ロボット3および障害物5の各部位の数と同数の桁数を有する情報であるため、例えば部位の数が増えた場合には、増えた部位に関する干渉条件を設定した上で、増えた部位の数だけ識別番号、干渉条件情報、および占有情報の桁数を増やして、本実施形態における干渉判定を行うことができる。このように、本実施形態によれば、部位の数が増えた場合に、柔軟な対応が可能である。また、「0」か「1」かの少ないデータ量で計算を行うことから、本実施形態によれば、部位の数が増えたことに伴って、装置全体の計算量や計算時間が極端に増えることを防止できる。   Moreover, since the identification number, interference condition information, and occupation information used in the present embodiment are information having the same number of digits as the number of each part of the double-arm robot 3 and the obstacle 5, for example, the number of parts has increased. In this case, after setting the interference condition regarding the increased part, the number of digits of the identification number, the interference condition information, and the occupation information can be increased by the number of the increased part, and the interference determination in this embodiment can be performed. . Thus, according to this embodiment, when the number of parts increases, a flexible response is possible. In addition, since the calculation is performed with a small data amount of “0” or “1”, according to the present embodiment, as the number of parts increases, the calculation amount and the calculation time of the entire apparatus become extremely large. It can be prevented from increasing.

また、本実施形態において、識別番号、干渉条件情報、および占有情報が、双腕ロボット3および障害物5の各部位の数と同数の桁数を有することは、言い換えれば各情報が必要最小限の桁数を有することであり、この場合には、演算に無駄がなく、必要最小限のメモリ量を用いて演算を行うことができる。   In the present embodiment, the identification number, the interference condition information, and the occupation information have the same number of digits as the number of each part of the double-arm robot 3 and the obstacle 5. In this case, there is no waste in the calculation, and the calculation can be performed using the minimum amount of memory.

また、本実施形態によれば、双腕ロボット3の動作における動作開始時刻と動作終了時刻との間の各時刻に対して干渉判定が行われる。これにより、動作中の全ての時刻において干渉が生じないことを判断した上で、安全に双腕ロボット3を動作させることができる。   Further, according to the present embodiment, the interference determination is performed for each time between the motion start time and the motion end time in the motion of the double-arm robot 3. Thereby, the dual-arm robot 3 can be operated safely after determining that no interference occurs at all times during operation.

以上で説明した軌道生成部1および干渉判定部4は実際に双腕ロボット3を動作させる前に事前に干渉判定を行うシミュレーション装置としても利用することができる。つまり、図1に示した双腕ロボット3やサーボドライバ2a〜2dが実際には存在しない場合でも、これらの機械部分をパソコン上で擬似的に構成し、双腕ロボット3および障害物の各部位間の干渉判定をシミュレーションすることができる。   The trajectory generation unit 1 and the interference determination unit 4 described above can also be used as a simulation device that performs interference determination in advance before actually operating the dual-arm robot 3. That is, even if the dual-arm robot 3 and the servo drivers 2a to 2d shown in FIG. 1 do not actually exist, these mechanical parts are configured on a personal computer, and the dual-arm robot 3 and each part of the obstacle are configured. It is possible to simulate the interference determination between the two.

[他の実施形態]
以上、本発明の好適な実施形態について説明したが、本発明が上記実施形態に限定されないことは言うまでもない。例えば、図示はしないが、干渉判定演算部42をマス目管理部424、占有情報記録部425、および判断部426のみを必須の構成要素とする簡素な構成としてもよい。
[Other Embodiments]
As mentioned above, although preferred embodiment of this invention was described, it cannot be overemphasized that this invention is not limited to the said embodiment. For example, although not shown, the interference determination calculation unit 42 may have a simple configuration in which only the grid management unit 424, the occupation information recording unit 425, and the determination unit 426 are essential components.

この場合のマス目管理部424は、前述の通り、双腕ロボット3の動作する空間を2次元平面上に投影した上で、その2次元平面をn1×n2のマス目に区切った判定領域を作成するとともに、そのn1×n2の個々のマス目に対応するメモリ領域を確保する。また、占有情報記録部425は、マス目管理部424による上記n1×n2のマス目のうち、双腕ロボット3および障害物5の各部位に対応するマス目である対応マス目を特定し、占有情報を部位毎に順次対応マス目に対応するメモリ領域に記録する。ここで、この場合の占有情報は、双腕ロボット3および障害物5の各部位が対応マス目を占有するか否かを示す情報である。また、判断部426は、占有情報をメモリ領域に記録するときに、そのメモリ領域に既に別の部位の占有情報が記録されている場合には、それらの部位同士が干渉すると判断する。   In this case, as described above, the grid management unit 424 projects a space in which the dual-arm robot 3 operates onto a two-dimensional plane, and then determines a determination area obtained by dividing the two-dimensional plane into n1 × n2 grids. A memory area corresponding to each of the n1 × n2 cells is secured while being created. In addition, the occupation information recording unit 425 specifies corresponding squares corresponding to the parts of the double-arm robot 3 and the obstacle 5 among the n1 × n2 squares by the square management unit 424, Occupancy information is sequentially recorded in the memory area corresponding to the corresponding cell for each part. Here, the occupation information in this case is information indicating whether each part of the double-arm robot 3 and the obstacle 5 occupies the corresponding square. In addition, when the occupation information is recorded in the memory area, the determination unit 426 determines that these parts interfere with each other if the occupation information of another part is already recorded in the memory area.

以上のような構成により、以下に示すような簡易的な干渉判定処理が可能となる。説明の便宜上、干渉判定部位が2個のみのケースを考える。例えば、右腕(識別番号ID=01)と左腕(識別番号ID=10)のみの干渉判定を行う場合が例として挙げられる。この場合に、最初に、マス目管理部424が、双腕ロボット3の動作空間を2次元平面上に投影した上で、その2次元平面をn1×n2のマス目に区切った判定領域を作成するとともに、そのn1×n2の個々のマス目に対応するメモリ領域を確保する。次に、占有情報記録部425が、ID=01の部位が占有するマス目を特定し、そのメモリ領域に占有情報として「ID=01を示す旨の情報」を書き込む。次に、占有情報記録部425が、ID=10の部位が占有するマス目を特定し、そのメモリ領域に占有情報として「ID=10を示す旨の情報」を書き込む。この「ID=10を示す旨の情報」の書き込み処理時に、占有情報記録部425が既に「ID=01を示す旨の情報」が書き込まれたメモリ領域に「ID=10を示す旨の情報」を書き込まなければならなくなった場合には、判断部426は、ID=01の部位とID=10の部位との間で部位同士が「干渉する」と判定する。一方で、「ID=10を示す旨の情報」を書き込むメモリ領域の何れにも「ID=01を示す旨の情報」が書き込まれていない場合には、部位同士が「干渉しない」と判定する。   With the above configuration, a simple interference determination process as described below is possible. For convenience of explanation, consider a case where there are only two interference determination sites. For example, the case where the interference determination of only the right arm (identification number ID = 01) and the left arm (identification number ID = 10) is performed is given as an example. In this case, first, the grid management unit 424 projects a motion space of the dual-arm robot 3 onto a two-dimensional plane, and then creates a determination region that divides the two-dimensional plane into n1 × n2 grids. In addition, a memory area corresponding to each of the n1 × n2 cells is secured. Next, the occupancy information recording unit 425 identifies the cell occupied by the part with ID = 01, and writes “information indicating ID = 01” as the occupancy information in the memory area. Next, the occupancy information recording unit 425 identifies the cell occupied by the part with ID = 10, and writes “information indicating ID = 10” as the occupancy information in the memory area. During the writing process of “information indicating ID = 10”, the occupation information recording unit 425 has already written “information indicating ID = 01” and “information indicating ID = 10” in the memory area. When it is necessary to write the information, the determination unit 426 determines that the parts “interfere” between the part with ID = 01 and the part with ID = 10. On the other hand, when “information indicating ID = 01” is not written in any of the memory areas to which “information indicating ID = 10” is written, it is determined that the parts do not interfere with each other. .

以上のような簡易的な干渉判定処理は、干渉判定対象部位が少なく、2次元平面上での動作(例えばアームの旋回動作)だけ考慮すれば良いロボットおよび障害物に対して特に有効である。すなわち、マス目を使って2次元平面上での干渉判定を行うため、3次元的な空間やモデルを用いて干渉判定を行う場合に比べて極めて少ないデータ量で計算ができ、干渉判定を高速化でき、双腕ロボット3の2次元方向の運動のみを考慮する(ロボットアームの昇降軸の動作や冶具の上昇下降がない)場合に特に有効である。   The simple interference determination process as described above is particularly effective for robots and obstacles in which there are few interference determination target portions and only an operation on a two-dimensional plane (for example, an arm turning operation) needs to be considered. In other words, since interference is determined on a two-dimensional plane using squares, calculation can be performed with a very small amount of data compared to the case where interference is determined using a three-dimensional space or model, and interference determination is performed at high speed. This is particularly effective when considering only the two-dimensional movement of the dual-arm robot 3 (no movement of the lifting / lowering axis of the robot arm or raising / lowering of the jig).

100…双腕ロボットシステム、1…軌道生成部、11…記憶部、12…演算部、2a〜2d…サーボドライバ、3a〜3d…サーボモータ、3…双腕ロボット、31,32…水平多関節アーム、311…アーム31の第1軸、312…アーム31の第2軸、313…アーム31の昇降軸、321…アーム32の第1軸、322…アーム32の第2軸、323…アーム32の昇降軸、4…干渉判定部、41…格納部、411…諸元等格納部、412…干渉情報格納部、413…干渉条件情報格納部、42…干渉判定演算部、421…識別番号割当部、422…干渉情報生成部、423…干渉条件情報生成部、424…マス目管理部、425…占有情報記録部、426…判断部、5…障害物、ワーク、冶具、6…判定領域。   DESCRIPTION OF SYMBOLS 100 ... Double-arm robot system, 1 ... Trajectory generation part, 11 ... Memory | storage part, 12 ... Calculation part, 2a-2d ... Servo driver, 3a-3d ... Servo motor, 3 ... Double-arm robot, 31, 32 ... Horizontal articulated Arm 311, first axis of arm 31, 312 ... second axis of arm 31, 313 ... lifting axis of arm 31, 321 ... first axis of arm 32, 322 ... second axis of arm 32, 323 ... arm 32 4... Interference determination unit, 41... Storage unit, 411... Specification storage unit, 412... Interference information storage unit, 413 ... interference condition information storage unit, 42. 422 ... Interference condition information generation unit, 424 ... Grid management unit, 425 ... Occupancy information recording unit, 426 ... Judgment unit, 5 ... Obstacle, work, jig, 6 ... Determination region.

Claims (11)

3次元で動作するロボットおよび障害物の各部位に対して干渉判定を行う干渉判定装置であって、
前記各部位のうち移動を伴う部位である移動部位ごとに、他の前記各部位とそれぞれ立体交差する際に干渉を伴うか否かを表した干渉条件情報であって、前記立体交差する際に干渉を伴うか否かを表す干渉情報に基づいて設定される前記干渉条件情報を格納する干渉条件情報格納手段と、
前記ロボットの動作する空間を2次元平面上に投影した上で前記2次元平面を所定の数の領域に区切るマス目管理手段と、
前記部位により占有される前記領域と、前記領域を占有する部位を特定する情報とを対応付けた占有情報を記録する占有情報記録手段と、
前記占有情報と前記干渉条件情報とに基づいて、互いに立体交差する2以上の異なる前記部位同士が前記干渉を伴うか否かについて判断する判断手段と、
を備えていることを特徴とする干渉判定装置。
An interference determination apparatus that performs interference determination on each part of a robot and an obstacle that operates in three dimensions,
Interference condition information indicating whether or not there is interference when three-dimensionally crossing each other part for each moving part that is a part that involves movement among the parts, and when the three-dimensionally intersecting Interference condition information storage means for storing the interference condition information set based on interference information indicating whether or not interference is involved;
And separated Rumasu th management means to the two-dimensional plane a predetermined number of regions operate the space on projected onto a two-dimensional plane of the robot,
Said area occupied by said portion, and information for specifying a region occupying the area, and the occupation information recording means for recording the occupation information that associates,
Determining means for determining whether or not two or more different parts that are three-dimensionally crossed with each other are based on the occupation information and the interference condition information;
An interference determination apparatus comprising:
前記部位ごとに識別番号を割り当てる識別番号割当手段と、
前記干渉情報を格納する干渉情報格納手段と
更に備え、
前記マス目管理手段は、前記領域ごとにメモリ領域を確保し、
前記占有情報記録手段は、前記各部位によって占有される領域に対応するメモリ領域に当該各部位の前記識別番号を前記占有情報として記録する、
ことを特徴とする請求項1に記載の干渉判定装置。
An identification number assigning means for assigning an identification number for each part;
Interference information storing means for storing the interference information ;
Further comprising a,
The grid management means secures a memory area for each area,
The occupation information recording means records the identification number of each part as the occupation information in a memory area corresponding to an area occupied by each part.
The interference determination apparatus according to claim 1.
前記識別番号割当手段は、複数の桁数を有し且つ他の識別番号との間で桁ごとの論理積を計算すると全ての桁が「0」となるように設定された識別番号を、前記各部位に割り当て、
前記干渉情報格納手段は、前記移動部位が、他の前記部位との間で立体交差する際に前記干渉を伴わない場合には「0」、立体交差する際に前記干渉を伴う場合には「1」を表す情報を前記干渉情報として格納し、
前記干渉条件情報格納手段は、前記干渉情報に基づき設定され、前記複数の桁数を有する前記干渉条件情報を格納し、
前記マス目管理手段は、前記2次元平面をn1×n2のマス目に区切るとともに、前記n1×n2のマス目それぞれに対応するメモリ領域を確保し、
前記占有情報記録手段は、前記n1×n2のマス目のうち前記各部位に対応するマス目である対応マス目を特定し、前記各部位の前記識別番号に基づく情報であり前記複数の桁数を有する占有情報を前記対応マス目に対応する前記メモリ領域に記録し、
前記判断手段は、前記占有情報および前記干渉条件情報における桁ごとの論理積を前記対応マス目ごとに求め、前記論理積の結果が全ての桁において「0」であれば前記各部位同士は干渉しないと判断し、前記論理積の結果が少なくとも一つの桁において「1」であれば前記各部位同士は干渉すると判断する、
ことを特徴とする請求項2に記載の干渉判定装置。
The identification number assigning means has an identification number that has a plurality of digits and is set so that all digits are "0" when calculating the logical product for each digit with other identification numbers. Assigned to each part,
The interference information storage means is “0” when the moving part does not cause the interference when the three-dimensional intersection with the other part is performed, and “0” when the movement part causes the interference when the three-dimensional intersection occurs. 1 ”is stored as the interference information,
The interference condition information storage means, the set based on the interference information, and storing the interference condition information chromatic said number plurality of digits,
The grid management means divides the two-dimensional plane into n1 × n2 grids, and secures memory areas corresponding to the n1 × n2 grids,
The occupancy information recording means specifies a corresponding cell that is a cell corresponding to each of the n1 × n2 cells, and is information based on the identification number of each of the plurality of digits. Is recorded in the memory area corresponding to the corresponding cell,
The determination means obtains a logical product for each digit in the occupancy information and the interference condition information for each corresponding square, and if the result of the logical product is “0” in all digits, the respective parts interfere with each other. If the result of the logical product is “1” in at least one digit, it is determined that the parts interfere with each other.
The interference determination apparatus according to claim 2.
前記干渉条件情報格納手段は、下記の数式(1)により計算される情報Ciを前記干渉条件情報として格納する、
ことを特徴とする請求項3に記載の干渉判定装置。
Figure 0005476225

ただし、hは前記各部位の数であり、iおよびjは1以上h以下の自然数であり、Ciはi番目の部位の前記干渉条件情報であり、IDjはj番目の部位の前記識別番号であり、tijはi番目の部位とj番目の部位における前記干渉情報である。
The interference condition information storage means stores information Ci calculated by the following mathematical formula (1) as the interference condition information.
The interference determination apparatus according to claim 3.
Figure 0005476225

Where h is the number of each part, i and j are natural numbers of 1 to h, Ci is the interference condition information of the i-th part, and IDj is the identification number of the j-th part. Yes, tij is the interference information in the i-th part and the j-th part.
前記占有情報記録手段は、
前記メモリ領域が初期化されている場合には、前記識別番号を前記占有情報として前記メモリ領域に記録し、
前記メモリ領域が初期化されていない場合には、既存の占有情報と前記識別番号との間の桁ごとの論理和を前記占有情報として前記メモリ領域に記録する、
ことを特徴とする請求項3又は4に記載の干渉判定装置。
The occupation information recording means is
If the memory area is initialized, the identification number is recorded in the memory area as the occupation information,
If the memory area is not initialized, record a logical OR for each digit between the existing occupation information and the identification number as the occupation information in the memory area.
The interference determination apparatus according to claim 3 or 4, wherein
前記ロボットの動作における動作開始時刻と動作終了時刻との間が一定時間間隔ごとに区切られ、当該区切られた各時刻における前記各部位の位置に対して、
前記占有情報記録手段は、前記各時刻における前記対応マス目を特定し、前記占有情報を前記対応マス目に対応する前記メモリ領域に記録し、
前記判断手段は、前記占有情報および前記干渉条件情報における桁ごとの論理積を前記対応マス目ごとに求め、前記論理積の結果が全ての桁において「0」であれば前記各部位同士は干渉しないと判断し、前記論理積の結果が少なくとも一つの桁において「1」であれば前記各部位同士は干渉すると判断する、
ことを特徴とする請求項3〜5の何れか1項に記載の干渉判定装置。
Between the operation start time and the operation end time in the operation of the robot is divided at regular time intervals, with respect to the position of each part at each of the divided times,
The occupancy information recording means identifies the corresponding cell at each time, records the occupancy information in the memory area corresponding to the corresponding cell,
The determination means obtains a logical product for each digit in the occupancy information and the interference condition information for each corresponding square, and if the result of the logical product is “0” in all digits, the respective parts interfere with each other. If the result of the logical product is “1” in at least one digit, it is determined that the parts interfere with each other.
The interference determination apparatus according to any one of claims 3 to 5, wherein:
前記識別番号、前記干渉条件情報、および前記占有情報は、前記各部位の数と同数の前記複数の桁数を有する情報である、
ことを特徴とする請求項3〜6の何れか1項に記載の干渉判定装置。
The identification number, the interference condition information, and the occupation information are information having the same number of digits as the number of each part.
The interference determination apparatus according to any one of claims 3 to 6, wherein
前記ロボットは、水平多関節アームを有する双腕ロボットである、
ことを特徴とする請求項1〜7の何れか1項に記載の干渉判定装置。
The robot is a double-arm robot having a horizontal articulated arm.
The interference determination apparatus according to any one of claims 1 to 7, wherein:
3次元で動作するロボットおよび障害物の各部位に対して干渉判定を行う干渉判定方法であって、
前記各部位のうち移動を伴う部位である移動部位ごとに、他の前記各部位とそれぞれ立体交差する際に干渉を伴うか否かを表した干渉条件情報であって、前記立体交差する際に干渉を伴うか否かを表す干渉情報に基づいて設定される前記干渉条件情報を格納する干渉条件情報格納ステップと、
前記ロボットの動作する空間を2次元平面上に投影した上で前記2次元平面を所定の数の領域に区切るマス目管理ステップと、
前記部位により占有される前記領域と、前記領域を占有する部位を特定する情報とを対応付けた占有情報が記録される占有情報記録ステップと、
前記占有情報と前記干渉条件情報とに基づいて、互いに立体交差する2以上の異なる前記部位同士が前記干渉を伴うか否かについて判断される判断ステップと、
を含んでいることを特徴とする、干渉判定方法。
An interference determination method for performing interference determination on each part of a robot and an obstacle operating in three dimensions,
Interference condition information indicating whether or not there is interference when three-dimensionally crossing each other part for each moving part that is a part that involves movement among the parts, and when the three-dimensionally intersecting An interference condition information storing step for storing the interference condition information set based on interference information indicating whether or not interference is involved;
And separated Rumasu th managing step of the two-dimensional plane in a predetermined number of regions on the projection of the space for movement of the robot on a two-dimensional plane,
Said area occupied by said portion, and information for specifying a region occupying the area, and the occupation information recording step of occupation information is recorded that associates,
A determination step of determining whether or not two or more different parts that are three-dimensionally crossed with each other are based on the occupation information and the interference condition information;
The interference determination method characterized by including.
前記部位ごとに識別番号が割り当てられる識別番号割当ステップと、
前記干渉情報が格納される干渉情報格納ステップと
更に含み、
前記マス目管理ステップでは、前記領域ごとにメモリ領域が確保され、
前記占有情報記録ステップでは、前記各部位によって占有される前記領域が特定され、当該領域に対応するメモリ領域に当該各部位の前記識別番号が前記占有情報として記録される、
ことを特徴とする請求項に記載の干渉判定方法。
An identification number assigning step in which an identification number is assigned to each part;
An interference information storing step in which the interference information is stored ;
Further comprising a,
In the grid management step, a memory area is secured for each area,
In the occupation information recording step, the area occupied by each part is specified, and the identification number of each part is recorded as the occupation information in a memory area corresponding to the area.
The interference determination method according to claim 9 .
前記識別番号割当ステップでは、複数の桁数を有し且つ他の識別番号との間で桁ごとの論理積を計算すると全ての桁が「0」となるように設定された識別番号が、前記各部位に割り当てられ、
前記干渉情報格納ステップでは、前記移動部位が、他の前記部位との間で立体交差する際に干渉を伴わない場合には「0」、立体交差する際に干渉を伴う場合には「1」を表す情報が、干渉情報として格納され、
前記干渉条件情報格納ステップでは、前記干渉情報に基づき設定され、前記複数の桁数を有し、前記移動部位が前記他の部位との間で立体交差する際に干渉を伴うか否かを表す情報である干渉条件情報が、前記移動部位ごとに格納され、
前記マス目管理ステップでは、前記ロボットの動作する空間が2次元平面上に投影された上で、前記2次元平面がn1×n2のマス目に区切られるとともに、前記n1×n2のマス目それぞれに対応するメモリ領域が確保され、
前記占有情報記録ステップでは、前記n1×n2のマス目のうち前記各部位に対応するマス目である対応マス目が特定され、前記各部位の前記識別番号に基づく情報であり前記複数の桁数を有する占有情報が前記対応マス目に対応する前記メモリ領域に記録され、
前記判断ステップでは、前記占有情報および前記干渉条件情報における桁ごとの論理積が前記対応マス目ごとに求められ、前記論理積の結果が全ての桁において「0」であれば前記各部位同士は干渉しないと判断され、前記論理積の結果が少なくとも一つの桁において「1」であれば前記各部位同士は干渉すると判断される、
ことを特徴とする請求項10に記載の干渉判定方法。
In the identification number assigning step, an identification number having a plurality of digits and set so that all the digits become “0” when calculating the logical product for each digit with other identification numbers, Assigned to each part,
In the interference information storing step, the moving part is “0” when there is no interference when three-dimensionally intersecting with the other part, and “1” when there is interference when three-dimensionally intersecting. Is stored as interference information,
In the interference condition information storing step, it is set based on the interference information, has the plurality of digits, and represents whether or not interference occurs when the moving part intersects with the other part. Interference condition information that is information is stored for each moving part,
In the grid management step, the space in which the robot operates is projected onto a two-dimensional plane, and then the two-dimensional plane is divided into n1 × n2 grids, and each of the n1 × n2 grids is divided. The corresponding memory area is reserved,
In the occupation information recording step, a corresponding cell that is a cell corresponding to each part of the n1 × n2 cells is specified, and the information is based on the identification number of each part, and the plurality of digits Is recorded in the memory area corresponding to the corresponding cell,
In the determining step, a logical product for each digit in the occupancy information and the interference condition information is obtained for each corresponding cell, and if the result of the logical product is “0” in all digits, the respective parts are It is determined that there is no interference, and if the result of the logical product is “1” in at least one digit, it is determined that the parts interfere with each other.
The interference determination method according to claim 10 .
JP2010142991A 2010-06-23 2010-06-23 Interference determination apparatus and interference determination method Expired - Fee Related JP5476225B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010142991A JP5476225B2 (en) 2010-06-23 2010-06-23 Interference determination apparatus and interference determination method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010142991A JP5476225B2 (en) 2010-06-23 2010-06-23 Interference determination apparatus and interference determination method

Publications (3)

Publication Number Publication Date
JP2012006100A JP2012006100A (en) 2012-01-12
JP2012006100A5 JP2012006100A5 (en) 2013-01-24
JP5476225B2 true JP5476225B2 (en) 2014-04-23

Family

ID=45537265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010142991A Expired - Fee Related JP5476225B2 (en) 2010-06-23 2010-06-23 Interference determination apparatus and interference determination method

Country Status (1)

Country Link
JP (1) JP5476225B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10350756B2 (en) 2014-12-25 2019-07-16 Kawasaki Jukogyo Kabushiki Kaisha Method of automatically avoiding obstacle for arm robot and control device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61260306A (en) * 1985-05-15 1986-11-18 Hitachi Ltd Prevention system against mutual interference between robots
JPH0836410A (en) * 1994-07-21 1996-02-06 Nissan Motor Co Ltd Method and device for preventing interfernece between robots
JPH08166809A (en) * 1994-10-14 1996-06-25 Kobe Steel Ltd Method for evading interference of plural robots and method for determining order and partial charge of operation
JPH11347984A (en) * 1998-06-02 1999-12-21 Nissan Motor Co Ltd Robot control device
JP2001315087A (en) * 2000-05-09 2001-11-13 Toshiba Mach Co Ltd Method for checking interference of robot arm in real time
JP3985677B2 (en) * 2002-12-25 2007-10-03 株式会社安川電機 Apparatus and method for checking interference of horizontal articulated robot

Also Published As

Publication number Publication date
JP2012006100A (en) 2012-01-12

Similar Documents

Publication Publication Date Title
JP6879464B2 (en) Interference determination method, interference determination system and computer program
US10671081B1 (en) Generating and utilizing non-uniform volume measures for voxels in robotics applications
US20180036882A1 (en) Layout setting method and layout setting apparatus
US9827675B2 (en) Collision avoidance method, control device, and program
JP5113666B2 (en) Robot teaching system and display method of robot operation simulation result
KR101781709B1 (en) Interference check device
JP2020179466A (en) Trajectory planning device and trajectory planning method and program
US20220032461A1 (en) Method to incorporate complex physical constraints in path-constrained trajectory planning for serial-link manipulator
US9342065B2 (en) Path interference and generation device and method
CN109760040B (en) Interference determination method, interference determination system, and storage medium
CN110554699A (en) Robot control system and control method
US20220355483A1 (en) Methods and Systems for Graphical User Interfaces to Control Remotely Located Robots
CN105676642A (en) Station layout and motion time cooperative optimization method for six-freedom-degree robot
CN113119112B (en) Motion planning method and system suitable for vision measurement of six-degree-of-freedom robot
JP2018020412A (en) Simulation device, robot control device, and robot
WO2020149021A1 (en) Route generator, route generation method, and route generation program
US20240009845A1 (en) Systems, methods, and user interfaces employing clearance determinations in robot motion planning and control
KR20100117931A (en) Method of generating sweeping work path for mobile robot
JP5476225B2 (en) Interference determination apparatus and interference determination method
Xu et al. Automatic interpolation algorithm for NURBS trajectory of shoe sole spraying based on 7-DOF robot
JP2013136109A (en) Interference determination device and interference determination method
JP2012061582A (en) Interference determination device, and interference determination method
Belaidi et al. NURBs trajectory generation and following by an autonomous mobile robot navigating in 3D environment
JP2023084115A (en) Point-set interference check
JP2021068108A (en) Three-dimensional virtual image data processing system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131023

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140207

R150 Certificate of patent or registration of utility model

Ref document number: 5476225

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees