JPH0757454B2 - Parts group movement management method - Google Patents

Parts group movement management method

Info

Publication number
JPH0757454B2
JPH0757454B2 JP60218801A JP21880185A JPH0757454B2 JP H0757454 B2 JPH0757454 B2 JP H0757454B2 JP 60218801 A JP60218801 A JP 60218801A JP 21880185 A JP21880185 A JP 21880185A JP H0757454 B2 JPH0757454 B2 JP H0757454B2
Authority
JP
Japan
Prior art keywords
parts
child
parent
tree structure
robot
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 - Lifetime
Application number
JP60218801A
Other languages
Japanese (ja)
Other versions
JPS6279926A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60218801A priority Critical patent/JPH0757454B2/en
Publication of JPS6279926A publication Critical patent/JPS6279926A/en
Publication of JPH0757454B2 publication Critical patent/JPH0757454B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Automatic Assembly (AREA)
  • Multi-Process Working Machines And Systems (AREA)
  • Manipulator (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は産業用ロボットのための部品群移動管理方法に
関し、特に機械部品や電子部品などの複数部品を組立て
るときの作業指示のプログラム作成を容易化するのに好
適な部品群移動管理方法に関するものである。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a parts group movement management method for an industrial robot, and particularly facilitates creation of a work instruction program when assembling a plurality of parts such as mechanical parts and electronic parts. The present invention relates to a component group movement management method suitable for realizing the above.

〔発明の背景〕[Background of the Invention]

最近、マイクロエレクトロニクス技術の進歩に伴って産
業用ロボットが急速に普及してきており、そのロボット
に組立などの作業指示を与えるためのソフトウェア設計
も増加の一途にある。
Recently, industrial robots have been rapidly spread with the progress of microelectronics technology, and software design for giving work instructions such as assembly to the robot is also increasing.

そのソフトウェア設計のためとして定めた、米国のスタ
ンフォード大学のアーティフィシャル インテリジェン
ス ラボラトリによるロボットプログラム言語ALの仕様
がある。なお、詳しくはShahid Mujtaba他「AL USERS'M
ANUAL」,Stanford Artificial Intelligence Laborator
y Memo AIM−323,1979年1月を参照のこと。
There is a specification of the robot programming language AL, which was established for the software design by the Artificial Intelligence Laboratory of Stanford University in the United States. For details, see "AL USERS'M" by Shahid Mujtaba and others.
ANUAL '', Stanford Artificial Intelligence Laborator
y Memo AIM-323, January 1979.

しかし、この仕様はALGOL言語風であり、しかも‘→',
‘↑',‘≡’などの記号を多く使用して記載するため
に、そのプログラムを使用するとき、入力手段として例
えば一般的なキーボードを用いた場合には、上記のよう
な記号は特別な取扱いが必要なので使用上問題があっ
た。また、ロボットによる組立作業を表現するときに
は、一般に複合,並列などの構造的記述が多くなること
が多い。そのために従来の教示データの再現を基本とし
たロボットハンドの動きを直接プログラムに表現する方
法においては、組立作業が複雑になってくると、作業を
指示するプログラム上の表現のみからでは、組立作業の
内容あるいは組立の進行状況を良く把握することが困難
であった。同時に記述誤りなどの発見にも多くの時間が
必要であった。そのために、記述用文字から→,↑,≡
などの記号をなくして一般のキーボードでも十分に対応
できるようにし、また、実用上の観点から作業の表現拡
張性や構文上の変更への迅速対応性などが優れ、さら
に、プログラム表現をPASCAL言語風に直したロボットプ
ログラム言語の仕様が早期に実現されることが期待され
ていた。
However, this specification is ALGOL language-like, and moreover, '→',
In order to describe using many symbols such as' ↑ 'and'≡', when using the program, for example, when a general keyboard is used as the input means, the above symbols are special There was a problem in use because handling was necessary. Further, when expressing an assembly work by a robot, generally, there are many structural descriptions such as compound and parallel. Therefore, in the conventional method of directly expressing the movement of the robot hand in a program based on the reproduction of teaching data, when the assembly work becomes complicated, the assembly work can be performed only by the expression in the program instructing the work. It was difficult to get a good grasp of the contents and the progress of the assembly. At the same time, it took a lot of time to find typographical errors. Therefore, from the character for description →, ↑, ≡
It is possible to use a general keyboard sufficiently by eliminating the symbols such as, and from the practical point of view, it has excellent expandability of work expressions and quick response to syntactic changes. It was expected that the specifications of the robot programming language, which was modified in the wind, would be realized at an early stage.

〔発明の目的〕[Object of the Invention]

本発明の目的は、このような従来の問題を解決し、複数
部品を組合せて新しい複合体を形成させるロボットを組
立作業プログラムを作成するとき、簡単かつ安価な方法
により、入力時の不便さをなくし、作業内容などの把握
を容易にすることのできる部品群移動管理方法を提供す
ることにある。
An object of the present invention is to solve such a conventional problem, and to create an assembly work program for a robot that combines a plurality of parts to form a new complex, thereby reducing the inconvenience at the time of input by a simple and inexpensive method. It is an object of the present invention to provide a parts group movement management method that can be easily eliminated to understand the work content.

〔発明の概要〕[Outline of Invention]

上記目的を達成するため、本発明の部品群移動管理方法
は、ロボットで組立てる各対象部品、該部品の親、該部
品の子、および親子間の疎密状態を格納する接続関係管
理テーブルと、組立ての過程に伴って変化する過程の木
構造ポインタ・スタックテーブルとを作成し、移動する
部品が指定されると、先ず該部品の移動先での位置およ
び姿勢を計算した後、上記木構造ポインタ・スタックテ
ーブルに該部品を親として書込み、次に、該品部を直接
の親とする全ての子部品を上記接続関係管理テーブル中
から検索し、該子部品を上記木構造ポインタ・スタック
テーブルに書込み、最新のポインタの示す部品のみ位置
および姿勢を計算し、以下、子部品がある限り上記処理
を繰り返すことを特徴としている。
In order to achieve the above object, a parts group movement management method of the present invention includes a connection relationship management table that stores each target part to be assembled by a robot, a parent of the part, a child of the part, and a sparse / dense state between the parent and the child. When a moving part is designated, a tree structure pointer / stack table that changes with the above process is created, first the position and orientation of the moving part of the part is calculated, and then the tree structure pointer Write the part to the stack table as a parent, then search all the child parts having the article part as a direct parent from the connection relation management table, and write the child part to the tree structure pointer / stack table. The position and orientation of only the component indicated by the latest pointer is calculated, and the above process is repeated as long as there are child components.

〔発明の実施例〕Example of Invention

以下、本発明の実施例を図面により説明する。 Embodiments of the present invention will be described below with reference to the drawings.

本発明の部品群移動管理方法は、前述したように一般的
なキーボードを用いて入力ができ、組立の作業内容や進
行状況を容易に把握できるように、表現をPASCAL言語風
に直したロボットプログラム言語の仕様において、詳細
は後述するが、組立部品若しくは属性を示す適当なデー
タに名前を付けて、その名前を使って各間の接続関係お
よび組立作業を記述し、その記述内容によりロボットハ
ンドの動きを間接的に定める、ロボットの組立作業用プ
ログラムの作成を可能とさせるものである。
The parts group movement management method of the present invention is a robot program whose expression is modified in PASCAL language style so that input can be performed using a general keyboard as described above, and the work content and progress of assembly can be easily grasped. Although details will be described later in the language specifications, appropriate data indicating an assembly part or attribute is given a name, and the connection relationship between each and the assembling work are described using the name. This makes it possible to create a robot assembly work program that indirectly determines the movement.

そのためには、指定した部品が他の部品やロボットハン
ドと一体どのような接続関係にあるかを管理する必要が
あり、それを行うための‘木構造’について第2図
(a)〜(d),第3図により述べる。
For that purpose, it is necessary to manage what kind of connection the specified part has with other parts and the robot hand, and regarding the'tree structure 'for doing so, FIG. 2 (a)-(d) ), FIG.

先ず、第2図(a)〜(d)は部品組立の作業過程と各
過程での部品間の接続関係を‘木構造’で示した図であ
る。同図において、RHは部品を組立てるロボットハン
ド、1,3,16,18は組立用の部品、26,27は作業用のテーブ
ルである。
First, FIGS. 2 (a) to 2 (d) are views showing a work process of assembling components and a connection relation between components in each process in a “tree structure”. In the figure, RH is a robot hand for assembling parts, 1,3,16,18 are parts for assembly, and 26,27 are working tables.

第2図の各(a)〜(d)に例示した組立作業の場合
は、先ず(a)図のようにロボットハンドRHに部品1を
つかませて、それを(b)図のようにテーブル26上に在
る部品3へ移動し、凸部を部品3の溝に嵌め合わせさせ
て一体にする。この時の木構造は、ロボットハンドRHが
部品1をつかんでいる間を(b)図のように部品1とロ
ボットハンドRHを結ぶ状態にする。
In the case of the assembling work illustrated in each of (a) to (d) of FIG. 2, first, the robot hand RH is made to grasp the part 1 as shown in FIG. 26 Move to the part 3 above, and fit the convex part into the groove of the part 3 to be integrated. In the tree structure at this time, while the robot hand RH is grasping the component 1, the component 1 and the robot hand RH are connected as shown in FIG.

続いて、その一体にしたものをロボットハンドRHにつか
ませて、それを(c)図のようにテーブル26からテーブ
ル27上に既に一体にして在る部品群のうちの部品16へ移
動する。この時の木構造は、上記と同様、(c)図のよ
うに部品1と部品3およびRH間,部品16と18間を実線で
結ぶ状態にする。
Then, the integrated one is grasped by the robot hand RH, and is moved from the table 26 to the part 16 of the parts group already integrated on the table 27 as shown in FIG. In the tree structure at this time, as in the above, as shown in (c), the parts 1 and 3 and the RH and the parts 16 and 18 are connected by solid lines.

続いて、移動した一体部品1,3を(d)図のように部品1
6上に部品18との直角面に沿わせるように置き組合せて
一体にし、ロボットハンドRHを切り離す。この時の木構
造は、上記と同様、(d)図のように部品3→部品1→
部品16→部品18と結ぶ状態にする。なお、木構造の表現
において、一つの木(実線)で結んだ上側の部品が
‘親',下側の部品を‘子’の関係にし、結んでいないも
のは孤立の状態を表わす。
Then, move the moved integrated parts 1 and 3 to the part 1 as shown in (d).
6) Place the parts on top of the parts 18 so that they are along the plane perpendicular to the parts 18, combine them, and separate the robot hand RH. The tree structure at this time is the same as the above, as shown in FIG.
Connect the part 16 to the part 18. In the expression of the tree structure, the upper part connected by one tree (solid line) has a “parent” relationship and the lower part has a “child” relationship, and the unconnected parts show an isolated state.

同様に、部品組立の作業過程を図示してないが、部品1
〜25の接続関係の一例を‘木構造’で表現すると第3図
のように示すことができる。なお、一つの木で構成する
2つの部品の間の接続を言語で表現するときには、次の
規則による。
Similarly, although the work process of assembling the parts is not shown, the parts 1
An example of the connection relations of ~ 25 can be represented as shown in Fig. 3 by expressing it as a "tree structure". When expressing the connection between two parts made of one tree in a language, the following rules are applied.

規則、2つの部品の間には親子の従属関係を持たせる
が、‘子’からの‘親’は必ず1つにする。
As a rule, there is a parent-child dependency relationship between two parts, but there must always be one'parent 'from'child'.

規則、親子の関係には‘疎’と‘密’の状態を置く。
すなわち、‘疎’とは組立において‘親’が移動を指示
されたときには‘子’も一所に移動するが、‘子’が移
動を指示されたときは‘親’は動かぬ状態である(図
中、○付の木は疎の親子関係)。一方、‘密’とは親子
いずれが移動を指示されても一所に移動する状態であ
る。したがって、単に積み上げられた部品は‘疎’の状
態であり、ボルト等で締められた部品は‘密’な状態に
ある。
Rules and parent-child relationships have a state of'sparse 'and'dense'.
That is, "sparse" means that when the "parent" is instructed to move, the "child" also moves to one place, but when the "child" is instructed to move, the "parent" is in a stationary state. (In the figure, the circled tree is a sparse parent-child relationship). On the other hand, "tight" means a state where the parent and child move to one place even if they are instructed to move. Therefore, the parts that are simply stacked are in a “dense” state, and the parts that are tightened with bolts or the like are in a “dense” state.

また、詳細は後述するが、第2図の移動作業において、
ロボット言語で部品の動きにより作業を表現し、ロボッ
トハンドRHを実際に動かす場合には、基準座標系の中に
おけるロボットハンドRHの位置・姿勢を、部品の移動に
応じて間接的に決定する必要がある。このため、言語表
現の対象となった部品とロボットハンドRHとの接続関係
の内容を木構造から認識する。
Also, as will be described later in detail, in the moving work of FIG.
When the work is expressed by the movement of parts in the robot language and the robot hand RH is actually moved, it is necessary to indirectly determine the position / orientation of the robot hand RH in the reference coordinate system according to the movement of the parts. There is. For this reason, the contents of the connection relationship between the part that is the object of language expression and the robot hand RH are recognized from the tree structure.

第2図に示したように各時点ごとの部品やロボットハン
ドRH間の接続状態を木構造によって表現することによ
り、組立作業が進むにつれて接続状態の変化をも知るこ
とができる。このような木構造による接続関係が与えら
れることにより、各部品が基準座標系の中において持つ
べき位置・姿勢を得ることができ、同様にロボットハン
ドRHの位置・姿勢は、各木の中での相対関係を知ること
によって、移動の対象となった部品の移動先における位
置・姿勢から求めることが可能となる。
As shown in FIG. 2, by expressing the connection state between the parts and the robot hand RH at each time point by a tree structure, it is possible to know the change in the connection state as the assembly work progresses. By giving the connection relationship by such a tree structure, it is possible to obtain the position / orientation that each part should have in the reference coordinate system. Similarly, the position / orientation of the robot hand RH is By knowing the relative relationship of, it becomes possible to obtain from the position / orientation of the moving target part at the moving destination.

次に、第3図のように‘木構造’表現された各部品(1
〜25)の接続関係を管理するために作成する接続関係管
理テーブル(以下、RELATBと呼ぶ)について第4図によ
り述べる。
Next, as shown in FIG. 3, each part (1
25), the connection relation management table (hereinafter referred to as RELATB) created to manage the connection relation will be described with reference to FIG.

第4図は、第3図に例示した‘木構造’の内容を表現し
たRELATBである。
FIG. 4 is a RELATB expressing the contents of the'tree structure 'illustrated in FIG.

RELATBは、第4図に示するように組立てる各対象部品名
(1,2,3,‥‥,25)をそのままテーブル番地(1,2,3,‥
‥,25)に対応させると共に、‘PFRM',‘CHILDA',‘CNE
CTD',‘NRGD'の各項目により構成する。
In RELATB, each target part name (1,2,3, ..., 25) to be assembled as shown in Fig. 4 is directly stored in the table address (1,2,3 ,.
, 25), and also'PFRM ',' CHILDA ',' CNE
It consists of CTD 'and'NRGD' items.

始めの項目‘PFRM'には、自身の‘親’のテーブル番地
を格納し、‘親’がないときは“0"をセットする。次の
項目‘CHILDA'には、自身の‘子’のテーブル番地を格
納し、‘子’が全くないときは“0"をセットする。
‘子’が2つ以上あるときは次項目の‘CNECTD'も使っ
て表現する。次の項目‘CNECTD'は以下のように用い
る。今、‘親’に対して‘子’が3個(‘甲',‘乙',
‘丙’)在るとしたときは、‘親’の項目‘CHILDA'に
第一子の‘甲’が居るテーブル番地を、その‘甲’の項
目‘CNECTD'に第二子の‘乙’が居るテーブル番地を,
同じく、その‘乙’の項目‘CNECTD'に第三子の‘丙’
が居るテーブル番地を各々セットし、その‘丙’の項目
‘CNECTD'には自分は最後の‘子’であるので“0"をセ
ットする。
In the first item'PFRM ', store the table address of its own'parent', and set it to “0” if there is no'parent '. In the next item'CHILDA ', store the table address of its own'child', and set it to “0” when there is no child.
When there are two or more "children", use the next item, "CNECTD". The next item'CNECTD 'is used as follows. Now, there are 3 "children" for "parents"("Kou","Otsu",
If there is, then the table address where the first child's "Kou" is in the "parent" item "CHILDA", and the second child is "Otsu" in the "Kou" item "CNECTD" The table address where
Similarly, the third child's “Hei” is included in the “CNECTD” of that “Otsu”.
Set each table address where there is, and set “0” in the item “CNECTD” of that “丙” because you are the last “child”.

4番の項目‘NRGD'には親子間の‘疎’(“1"をセッ
ト)または‘密’(“0"をセット)状態を格納する。
The fourth item'NRGD 'stores'sparse' (set “1”) or'dense '(set “0”) status between parent and child.

すなわち、例えば部品1は、部品16が‘親’で、部品2,
3,4の‘子’がいるので、RELATBの1番地(部品1)の
項目‘PFRM'と‘CHILDA'にはそれぞれ“16"と“2"を、
2番地(部品2)の項目‘PFRM'と‘CNECTD'にはそれぞ
れ“1"と“3"を、3番地(部品3)の項目‘PFRM'と‘C
NECTD'にはそれぞれ“1"と“4"を、4番地(部品4)の
項目‘PFRM'と‘CHILDA'と‘NRGD'にはそれぞれ“1"と
“5"と“1"を各々セットする。
That is, for example, in component 1, component 16 is the “parent”, component 2,
Since there are 3 and 4'children ', the items'PFRM'and'CHILDA'at address 1 (part 1) of RELATB are "16" and "2", respectively.
Items "PFRM" and "CNECTD" at address 2 (part 2) are "1" and "3" respectively, and items "PFRM" and "C" at address 3 (part 3) are respectively
Set "1" and "4" to NECTD 'and set "1", "5" and "1" to items'PFRM', 'CHILDA'and'NRGD'at address 4 (part 4) respectively. To do.

次に、第3図に示す‘木構造’すなわち部品相互の接続
関係は、組立の過程に伴って刻々と変化するので、その
変化を追いかつ変更すべきデータを持つ部品などを定め
るために作成する木構造ポインタ・スタックテーブル
(以下、TPSと呼ぶ)について第5図により述べる。
Next, the'tree structure 'shown in FIG. 3, that is, the connection relationship between parts changes every moment as the assembly process progresses. A tree structure pointer / stack table (hereinafter, referred to as TPS) to be described will be described with reference to FIG.

第5図はTPS33の構成と、スタック・ポインタの動く様
子34a〜34hおよび処理の方向35を示す図である。
FIG. 5 is a diagram showing the structure of the TPS 33, the movements 34a to 34h of the stack pointer and the processing direction 35.

TPS33は、‘木構造’の接続関係にあって探索の対象と
なった部品が居るRELATBの番地を格納する‘RELPTR'
と、その部品に関する諸計算の終了(“1"をセット),
未了(“0"をセット)の状態を示すためのフラグ‘CAL
C'により構成する。なお、図示したTPS33は第3図の部
品1〜10の内容であり、位置・姿勢の計算では部品1〜
13の内容である。また、横方向はTPS33の同じテーブル
番地を示しており、1対のレコードは左が項目‘RELPT
R',右が項目‘CALC'である。
TPS33 stores the address of RELATB where there is a search target component in the connection relation of'tree structure ',' RELPTR '
And the end of various calculations for that part (set "1"),
Flag'CAL for indicating the status of incomplete (set to “0”)
It consists of C '. The TPS33 shown in the figure is the contents of parts 1 to 10 in FIG.
There are 13 contents. Also, the horizontal direction shows the same table address of TPS33, and the left side of the pair of records is the item'RELPT.
R ', the item on the right is'CALC'.

すなわち、部品1の移動先での位置・姿勢からスタック
ポインタを変えて部品10→部品9→部品8→部品7→部
品6と各々の位置・姿勢を計算し、部品5では‘子’の
部品13〜11も含めて計算して、部品4は(計算済みであ
るので)省略し、部品3→部品2の順に計算する。
That is, by changing the stack pointer from the position / orientation of the part 1 at the movement destination, the position / orientation of each of the parts 10 → part 9 → part 8 → part 7 → part 6 is calculated, and the part 5 is the “child” part. 13 to 11 are also included in the calculation, the part 4 is omitted (since it has already been calculated), and the parts 3 to 2 are calculated in this order.

つまり、部品が移動すると、その新しい位置を計算する
必要があり、その計算、一体になっている複数の部品が
動くときには、それらの木構造をなす親子関係と親子間
の座標変換行列とに基づいて、それぞれの部品の新しい
位置を算定する。算定する場合においては、親子間の
‘疎',‘密’の関係から、 a)常に一体となって移動し、位置は変わるが親子間の
座標変換行列は不変であるもの。
In other words, when a part moves, its new position needs to be calculated, and when a plurality of integrated parts move, it is based on the parent-child relationship and the coordinate transformation matrix between the parent and child that form the tree structure. And calculate the new position of each part. In the calculation, due to the relationship of "sparse" and "dense" between parent and child, a) always move as a unit, the position changes but the coordinate transformation matrix between parent and child does not change.

b)‘子’のみが移動し、親子間の座標変換行列も変っ
てしまうもの。
b) Only the'child 'moves, and the coordinate transformation matrix between the parent and child also changes.

c)移動する部品とは無関係で、位置および座標変換行
列も変らないもの。
c) The position and coordinate transformation matrix do not change regardless of the moving parts.

と3つに分類できる。And can be classified into three.

上記a),b),c)の各状態は、第3図の‘木構造’にお
いて、部品1から出発して‘親’の方向(部品16側)へ
廻したときのルートをキールート31と称するものにし、
このキールート31上で最初に出会う‘疎’の関係にある
‘親',‘子’をそれぞれFP(部品21),FC(部品18)に
した場合、それぞれ次の各状態a,b,cに対応する。
In each of the states a), b), and c) described above, in the “tree structure” of FIG. 3, the route when starting from the component 1 and turning in the “parent” direction (component 16 side) is the key route 31. And call it
When the'parent 'and the'child' in the'sparse 'relationship first encountered on this key route 31 are set to FP (part 21) and FC (part 18), respectively, the following states a, b, c Corresponding to.

i)FCを‘親’にする各‘子’と、それと共に従うこと
のできる(すなわち、間接的にも‘子’の状態にある)
全ての部品は状態aの中の各部品。
i) Each'child 'that makes FC a'parent' and can be followed with it (ie it is also indirectly in a'child 'state)
All parts are each part in state a.

ii)FC自体は状態b。ii) FC itself is in state b.

iii)i)(状態a),ii)(状態b)以外の各部品は状
態c。
iii) Each component other than i) (state a), ii) (state b) is in state c.

これにより、ロボットプログラム言語の記述に、部品1
を別の所に移動する記述があったときは、上記i),i
i)の状態a,bに該当する全ての部品(2〜18)に対して
変更する計算を実施する。この計算は、部品1を出発点
にしテーブルTPS33を用いて全ての対象部品を決定して
行う。例えば部品1〜13と、部品1,14〜18のように決定
する。なお、上述した第5図は部品1〜13の計算過程の
例であり、TPS33の最先頭を示すスタックポインタを矢
印34a〜34hのように動かして処理する。
As a result, the parts 1
If there is a description to move the
The calculation for changing is performed for all parts (2 to 18) corresponding to the states a and b of i). This calculation is performed by determining all target parts using the table TPS33 with the part 1 as the starting point. For example, the components 1 to 13 and the components 1 and 14 to 18 are determined. Note that FIG. 5 described above is an example of the calculation process of the components 1 to 13, and the stack pointer indicating the top of the TPS 33 is moved as indicated by arrows 34a to 34h for processing.

次に、‘木構造’を基にRELATBとTPS33の2つのテーブ
ルを使用して、各部品およびロボットハンド(RH)の所
定の値を得る方法について第1a図,第1b図により述べ
る。
Next, referring to FIGS. 1a and 1b, a method for obtaining a predetermined value for each part and robot hand (RH) by using two tables, RELATB and TPS33, based on the'tree structure 'will be described.

移動する部品(今、それを部品1とする)が指定された
とき、先ず、その部品1の移動先での位置・姿勢を計算
した後、内部に設けたフラグレジスタのRELAPBに“−1"
をセットし、TPS33に部品1を‘親’として書込む(ス
テップ101〜103)。なお、TPS33の1番地の項目‘RELPT
R',項目‘CALC'にはそれぞれRELATBの部品1のテーブル
番地“1",計算済みの“1"をセットする。
When a moving part (which is now called part 1) is specified, first the position / orientation of the part 1 at the moving destination is calculated, and then "-1" is set in RELAPB of the flag register provided inside.
Is set, and the component 1 is written in the TPS33 as a'parent '(steps 101 to 103). In addition, the item at address 1 of TPS33'RELPT
The table address "1" of RELATB part 1 and the calculated "1" are set in R'and item'CALC ', respectively.

続いて、部品1を直接の‘親’とする全ての‘子’部品
をRELATBの項目‘CHILDA'と‘CNECTD'を基に探索し、そ
の‘子’部品が複数個あるときは、探索の順にTPS33の
項目‘RELPTR'に登録して、TPS33の最新のポインタの示
す部品のみ位置・姿勢の計算を行うと共に、項目‘CAL
C'に“1"をセットする(ステップ104〜107)。この処理
を‘子’部品がある限り続けて第5図のように登録す
る。なお、計算済みでない,計算不要でない部品は項目
‘CALC'に“0"を入れる。
Next, search for all'child 'parts that have a direct parent as part 1 based on the RELATB items'CHILDA'and'CNECTD'. If there are multiple'child' parts, search for them. Register to the item'RELPTR 'of TPS33 in order, calculate the position and orientation of only the part pointed by the latest pointer of TPS33, and add the item'CAL
Set “1” to C ′ (steps 104 to 107). This process is continued as long as there are'child 'parts, and is registered as shown in FIG. For components that have not been calculated or need not be calculated, enter "0" in the item'CALC '.

一方、その‘子’部品が1個のときは、TPS33のスタッ
クポインタ値を−1し、その値が1番地であるときに
は、今度は‘親’側の処理を行うため、そこでの項目
‘RELPTR'の内容をフラグレジスタRELAPBにセットする
と共に、‘RELPTR'と内容(部品名)が居るRELATBの項
目‘PFRM'の部品を新しい‘親’として、内部に設けた
フラグレジスタRELAPNにセットする(ステップ108〜11
1)。−1した値が1番地でないときにはステップ104に
戻る。
On the other hand, when the number of its'child 'parts is 1, the stack pointer value of TPS33 is decremented by -1, and when the value is 1, the processing of the'parent' side is performed this time, so the item'RELPTR there. The contents of 'is set in the flag register RELAPB, and the part of the RELATB item'PFRM' with the contents (part name) of'RELPTR 'is set as the new'parent' in the flag register RELAPN provided inside (step 108 ~ 11
1). When the value obtained by subtracting -1 is not the first address, the process returns to step 104.

続いて、フラグレジスタRELAPBの旧‘親’とフラグレジ
スタRELAPNの新しい‘親’との親子関係を調べ、‘密’
の関係のときは旧‘親’の位置・姿勢と、新旧の親間の
相対変換行列とから新しい‘親’の位置・姿勢を計算し
てデータ更新後、TPS33の1番地の項目‘CALC'に“1"を
セットしてステップ104に戻る(ステップ113,115,11
6)。一方、‘疎’の関係のときは新旧の親間の相対変
換行列を計算してデータ更新して処理を終了する。
Next, check the parent-child relationship between the old'parent 'of the flag register RELAPB and the new'parent' of the flag register RELAPN, and check the'dense '.
In the case of the relation of, the position / orientation of the new'parent 'is calculated from the position / orientation of the old'parent' and the relative conversion matrix between the old and new parents, and after updating the data, the item'CALC 'at the 1st address of TPS33. Set “1” to and return to step 104 (steps 113, 115, 11
6). On the other hand, when the relationship is'sparse ', the relative conversion matrix between the old and new parents is calculated, the data is updated, and the processing is ended.

この処理をフラグレジスタRELAPNの内容が“0"すなわち
‘親’が存在しなくなる(部品22,23)まで実施する
(ステップ112)。
This processing is executed until the content of the flag register RELAPN is "0", that is, there is no'parent '(steps 22 and 23) (step 112).

ステップ107において、第5図に示すようなTPS33を作成
したときに、上述したスタックポインタを変えて、各部
品のx,y,z軸方向からなる位置と、部品の傾きなどの姿
勢を算出する。
In step 107, when the TPS 33 as shown in FIG. 5 is created, the stack pointer described above is changed to calculate the position of each component in the x, y, and z axis directions and the posture of the component such as inclination. .

第6図は、本方式に基づく装置の構成図である。FIG. 6 is a block diagram of an apparatus based on this system.

上述したRELATBの作成,RELATBとTPS33の両テーブルを用
いて位置・姿勢の計算が必要な対象部品の選択などを処
理させるため、部品群移動管理装置36と汎用の処理装置
39により構成し、次の処理動作を実行させる。
In order to process the creation of RELATB described above and the selection of target parts for which position / orientation calculation is required using both RELATB and TPS33 tables, a parts group movement management device 36 and a general-purpose processing device
39 to execute the following processing operation.

処理装置39から部品の接続関係を記述した(接続関係表
現)データを受けた部品群移動管理装置36のRELATB作成
処理部37は、入力したデータを基に第4図に示すような
テーブルRELATBを作成する。作成されたRELATBが入力さ
れると対象部品選択処理部38は、上記と同様、処理装置
39から部品の移動を記述した(移動表現)データおよび
計算処理部41からの部品選択指示に基づいて、作成され
たRELATBとテーブルTPS33を用いながら、指示された部
品と接続関係にあって計算の対象である部品を選択し、
処理装置39に送出する。
The RELATB creation processing unit 37 of the component group movement management device 36, which has received the data (connection relation expression) describing the connection relation of the components from the processing device 39, creates the table RELATB as shown in FIG. 4 based on the input data. create. When the created RELATB is input, the target component selection processing unit 38 causes the processing device to operate similarly to the above.
Using the created RELATB and table TPS33 based on the (movement expression) data describing the movement of the component from 39 and the component selection instruction from the calculation processing unit 41, calculation is performed in connection with the instructed component. Select the target part,
It is sent to the processing device 39.

このように、ロボットハンドRHとの接続関係を与えられ
た部品の名前に用いてロボット組立作業を記述し、ロボ
ットハンドRHの間接的な動きを決定することができ、ロ
ボットハンドRHの動きを直接表現する場合に比較する
と、プログラムから作業内容を把握することが容易で、
誤りの入りにくいプログラムを作成することができる。
In this way, it is possible to describe the robot assembly work by using the connection relationship with the robot hand RH for the name of the given part, to determine the indirect movement of the robot hand RH, and to directly move the movement of the robot hand RH. Compared with the case of expressing, it is easier to understand the work contents from the program,
It is possible to create a program that is hard to make mistakes.

また、部品に付ける名前を拡張し、部品を代表する位置
に付けた名前の他に、同じ部品の溝や穴,ロボットハン
ドRHのつかみ点など,作業表現に都合の良い位置に名前
を付けて、それら相互の接続関係を与えることにより、
プログラムを更に分り易く記述することも可能である。
In addition to expanding the names given to the parts, in addition to the names given to the positions that represent the parts, give names to positions that are convenient for the work expression, such as grooves and holes in the same parts and the gripping points of the robot hand RH. , By giving them mutual connection
It is also possible to describe the program more easily.

〔発明の効果〕〔The invention's effect〕

以上説明したように、本発明によれば、組立てる部品相
互の接続関係をテーブル作成し、そのテーブルから移動
する部品と関係を持つ部品を選択して移動先での位置・
姿勢を計算させるので、特殊なソフトウェアを用意する
ことなく、複数部品を組合せて新しい複合体を形成させ
るロボットの組立作業プログラムが作成でき、かつ作業
内容などの把握も容易になる。また、記述用文字に特別
な記号を用いていないので入力作業は容易になる。
As described above, according to the present invention, a table is created for connection relationships between parts to be assembled, and a part having a relationship with a moving part is selected from the table to determine the position / position at the moving destination.
Since the posture is calculated, it is possible to create a robot assembly work program that combines a plurality of parts to form a new complex without preparing special software, and it is easy to grasp the work contents. Further, since no special symbol is used as the descriptive character, the input work becomes easy.

【図面の簡単な説明】[Brief description of drawings]

第1a図,第1b図は本発明の一実施例を示す部品群移動管
理の処理フローチャート、第2図(a)〜(d)は組立
の過程とその木構造を説明するための図、第3図は木構
造表現図、第4図は接続関係管理テーブル(RELATB)の
構成図、第5図は木構造ポインタ・スタックテーブル
(TPS)とその処理動作を説明するための図、第6図は
本発明の一実施例を示す装置構成図である。 1〜25:部品、26,27:テーブル、31:キールート、32:疎
の親子関係、33:TPS、34a〜34h:スタックポインタの動
作方向、35:処理の方向、36:部品群移動管理装置、37:R
ELATB作成処理部、38:対象部品選択処理部、39:処理装
置、40:判定部、41:計算処理部、RH:ロボットハンド。
FIGS. 1a and 1b are process flowcharts of parts group movement management showing an embodiment of the present invention, FIGS. 2 (a) to 2 (d) are views for explaining an assembling process and its tree structure, FIG. 3 is a tree structure representation diagram, FIG. 4 is a configuration diagram of a connection relation management table (RELATB), FIG. 5 is a diagram for explaining a tree structure pointer / stack table (TPS) and its processing operation, and FIG. FIG. 1 is a device configuration diagram showing an embodiment of the present invention. 1 to 25: Parts, 26, 27: Table, 31: Key route, 32: Sparse parent-child relationship, 33: TPS, 34a to 34h: Stack pointer operation direction, 35: Processing direction, 36: Parts group movement management Device, 37: R
ELATB creation processing unit, 38: target component selection processing unit, 39: processing device, 40: determination unit, 41: calculation processing unit, RH: robot hand.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】ロボットで組立てる各対象部品、該部品の
親、該部品の子、および親子間の疎密状態を格納する接
続関係管理テーブルと、 組立ての過程に伴って変化する過程の木構造ポインタ・
スタックテーブルとを作成し、 移動する部品が指定されると、先ず該部品の移動先での
位置および姿勢を計算した後、上記木構造ポインタ・ス
タックテーブルに該部品を親として書込み、 次に、該品部を直接の親とする全ての子部品を上記接続
関係管理テーブル中から検索し、該子部品を上記木構造
ポインタ・スタックテーブルに書込み、最新のポインタ
の示す部品のみ位置および姿勢を計算し、 以下、子部品がある限り上記処理を繰り返す ことを特徴とする部品群移動管理方法。
1. A connection relation management table that stores each target part to be assembled by a robot, a parent of the part, a child of the part, and a sparse / dense state between the parent and child, and a tree structure pointer that changes with the process of assembly.・
When a stack table is created and a part to be moved is specified, first the position and orientation of the part at the moving destination are calculated, and then the part is written in the tree structure pointer / stack table as a parent, and then All child parts having the article part as a direct parent are searched from the connection relation management table, the child parts are written in the tree structure pointer / stack table, and the position and orientation of only the element indicated by the latest pointer is calculated. Then, hereinafter, a component group movement management method characterized in that the above processing is repeated as long as there are child components.
JP60218801A 1985-10-01 1985-10-01 Parts group movement management method Expired - Lifetime JPH0757454B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60218801A JPH0757454B2 (en) 1985-10-01 1985-10-01 Parts group movement management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60218801A JPH0757454B2 (en) 1985-10-01 1985-10-01 Parts group movement management method

Publications (2)

Publication Number Publication Date
JPS6279926A JPS6279926A (en) 1987-04-13
JPH0757454B2 true JPH0757454B2 (en) 1995-06-21

Family

ID=16725570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60218801A Expired - Lifetime JPH0757454B2 (en) 1985-10-01 1985-10-01 Parts group movement management method

Country Status (1)

Country Link
JP (1) JPH0757454B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004106009A1 (en) 2003-06-02 2004-12-09 Matsushita Electric Industrial Co., Ltd. Article operating system and method, and article managing system and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58129608A (en) * 1982-01-29 1983-08-02 Nissan Motor Co Ltd Method for indicating production in production line group
JPS60134306A (en) * 1983-12-21 1985-07-17 Fujitsu Denso Ltd Program developing device for automatic parts inserting system

Also Published As

Publication number Publication date
JPS6279926A (en) 1987-04-13

Similar Documents

Publication Publication Date Title
JP2525275B2 (en) Database operation method
US5950190A (en) Dynamic, self-modifying graphical user interface for relational database applications
JP3372563B2 (en) Tree structure display editing device
JP2009508227A (en) Browse mode designer
JP4283308B2 (en) Object display device and object display program
JP3777087B2 (en) Data display system, data display method, computer system, and recording medium
TW202016722A (en) Auto-obtaining display equipment for guidance content of graphic data of patent document
JPH0757454B2 (en) Parts group movement management method
JP3078540B2 (en) Image processing system
Sun et al. A modular fixture design system based on case-based reasoning
JP3498733B2 (en) Tree structure display editing device
US7298382B1 (en) Figure selection method, figure selection device, and storage medium storing figure selection program
JP2786306B2 (en) Assembly process design apparatus and method
JPS6320529A (en) Knowledge acquiring system
JPS63295192A (en) Automatic preparation of order of operation of multi-arm manipulator
JP2545474B2 (en) Complex program component
JP3845137B2 (en) Automatic polygon record creation method around reference line and polygon record automatic creation device around reference line
Little Advances in laboratory robotics for automated sample preparation
JPH0264868A (en) Information retrieving device
Campione-Piccardo et al. An integrated software system for microcomputer management of recombinant DNA data
JPH07219975A (en) Finite element mesh preparing device
JPS6386021A (en) Screen control method
JPH01112421A (en) Data retrieving system for artificial intelligence
JPH0214373A (en) Three-dimensional point designating system
JP2956414B2 (en) CAD system