A Consulting System of Disassembling & Reassembling a Mechani¬ cal Object議二大阪大学基礎工学部創御工学科辻研究室*山田Seizi YAMADA大阪大学基礎工学部創御工学科辻研究室*意広安部Norihiro ABE二郎大阪大学基礎工学部制御工学科• # Saburo TSUJI * Dept, of Control Engineering, Faculty of Engineering Science, Osaka University, Osaka 560, Japan, 1986年5月15日受理Keywords：consulting  system, collosion  detection, assemble & disassemble, procedural net, man-machine interface, Summary We report a consulting system which can assist a native user in disassembling and reassembling a mechanical object with a cylindrical body (e, g, a cylindrical electric drill) by analyzing the structural description of the object.  Input data are 3-dimensional geometric models of parts and their functional data,   From input data,   the system extracts all connections among subparts made by holders such as screws,  nuts and caps first,  Secondly for each part of the drill,  obstructive parts are found by 3-dimensional collision detection. In this time, each of the parts is virtually translated to examine its removability. The system then generates a procedural net that represents all possible ways to disassem- ble the drill with obstacle data,  and instructs a user in disassembling and reassembling the drill using the procedural net,  If there are several procedures guiding the user to the goal part,  the system will select the most efficient procedure by comparing their a priori costs. This estimation is done dynami- cally considering both the current state and the goal one in the net. The instruction is given step by step with a natural language and a graphical interface.がえ1. # #U人工知能の発達に伴って、その実用化への試みがなされている。専門的なコンサルテーションを、人間に代わって行うエキスパート・システムの研究も各分野で進められているが，本論文では，円柱状の電気ドリル(Fig.1)の分解・組立てコンサルタント・システム[1] . [2]について報告する。本システムは，故障などの理由により，機械などの分解に不慣れなユーザが電気ドリルを分解する必要が生じたときに，無駄のない分解・組立てコンサルテーションを行うものである。機械部品の分解・組立てコンサルタント・システムに関する従来の研究としては, SRI (Stanford Research Institute)の研究い, BBN (Bolt Ber- anek and Newman, Inc. )の研究[3]などがある. SRIのシステムは，分解手続きネットと部品モデルをもとに技術者に分解教示を行い，部品の認識，分解の確認にコンピュータ・ビジョンを用いるというものであったが，残念ながら複雑な部品の形状をコンピュータて認識するのは不可能であり研究は中断された。また，SRIのシステムでは分解方法はあらかじめ与えられており，それに悲づいて分解教示が行われる。それに対して、本システムでは部品の3次元モデルから全ての分解操作を表わす手続きネットをシステム自身が自動生成し，それを用いて分解教示を行う。そして，部品のモデルから描かれるグラフィクスをもったマン・マシン・インタフェースにより，分解教示をわかりやすく行うことができる。
2.システムの概要
Fig 2にシステム構成を示す.入力ゲータには部品の3次元幾何モデルと機能データがある、3次元幾何モデルは，基本立体の組合せて表わされ，機能データは部品の名称などである。まず，システムは入力データからどの部品によって，どの部品が固定されているのかという部品間の接続関係を抽出する。次に，分解手順自動生成の準備として，障害部品の検出を行う。3次元衡突推論を用いて各部品を取り外し方向に平行移動させるシミュレーションを行い障害部品を調べる。そして，システムは障害部品のリストをもとに全ての分解手順を表わす手続きネットを自動生成していく.その手続きネットを用いてコンサルテーションが行われ、システムはその目標に至る最適な分解手順を教示する。システム各領域については，次章以降で詳しく述べる.本システムが扱う入力データには部品の3次元幾何モデルと機能データがある.
3 ・ 1   部品の3次元幾何モデル
電気ドリルはまったく分解されてない状態（初期状態）でその軸が世界座標系のz軸に重なるように置かれているとし，その状態で各部品を定義していく． 〔1〕   基本立体    本システムでは基本立体として円柱，円錐，凸多角柱を用いる。円柱，円錐は二つの底面の中心の３次元座標と半径で定義され、多角柱は二つの底面の項点をz軸無限遠方から見て右回りに並べたリストによって定義される。また，ネジの切ってある基本立体は宣言しておく. 〔 2 〕 部品の定義    本システムでは基本立体の和と差で部品を定義する。基本立体問の関係を表わするのとして，3次元構造リストを考える（Fig.3）. まず，穴などの凹部分を埋めた部品の輪郭を基本立体の和で定義していき、それらのプラスの基本立体のリストを3次元構造リストの第1要素とする．次に，穴の部分を表わすマイナスの基本立体の和を考え，それらのリストを第2要素とする。そして同様に第2要素で差し引いた部分にあるプラスの基本立体のリストを第3要素とする，ということを繰り返していくことにより，部品の3次元構造リストを作ることができる.例として,テール・フレームの定義をFig.4に示す. Fig. 4  Definition of tail frame.
３・２　部品の機能データ
部品の機能データとして入力するものには，部品の一般的な名称（スイッチ、テール・カバーなど）,機能的名称（プラス・ピス,マイナス・ピス,ナット,キャップ,パーツ) ,そしてその部品を取り外すのに必褒な工具およびその使用法などがある。今回実際に入力した電気ドリルは、日本精密機械工作株式会社の「リューター・ジュニア」という小型で円柱状の形気ドリルである。
4 。接続関係の抽出
4 ・ 1 接続関係の表現
システムが入力データをもとにまず行うことは，接統関係の抽出である。本システムが対象とする接続関係は全てネジのかみ合わせによるものとし;すべての接続関係は機能的名称が，ピス，キャップ，ナットのいずれかである部品によって生じるものとする。 Fig.5に接続関係の例を示す。(a)はピス，(b)はキャップ，(c)はナットによる接続である。次に，接続関係をP-部品，N-部品，被拘束部品という3種類の部品名で炎現する。 (1) P-部置接続関係を生成する部品で機能的名称がピス、ナット，キャップのいずれかである部品をさす。このP-部品を取り外すことによって，その接続関係は解除されることになる。 (2) N-部市P-部品と対になって接続関係を維持する部品. (3)  被拘束部品P-部品とN-部品によって拘束される部品. Fig.5の例において(a)では、BがP-部品、AがN-部品，C、Dが被拘束部品で，(b)では，EがP-部品，FがN-部品，Gが被拘束部品，(c)では，HがP-部品，KがN-部論, I, Jが被拘束部品である.
4 ・ 2 接続関係の抽出
前述の３種類の部品のうちN-部品と被拘束部品は，入力データとして事前に与えられているのではなく，システム自身が入力データを用いて検出していく。まず、システムは機能的名称をもとにP-部品を探しだす.そして，P-部品のネジのきってある基本立体と組み合わさる基本立体をもつ部品が、対になるN-部品であると考え、P-部品それぞれについて対となるN-部品を見つけていく．次に，ビスなどのP-部品が貫通している穴をもっている部品を被拘束部品と考え，3次元モデルから検出していく．こうして，P-部品，N-部n,被拘束部品が求まる.
５．３次元衝突推論による障害部品の検出
分解手順を自動生成するために，各部品について障害部品を調べる。本システムでは，各部品を平行移動させるシミュレーションを行うことにより、衝突した部品，つまり障害となる部品を検出する。そのためには3次元衝突推論が必要であるが、円柱状の電気ドリルでは部品の取外し方向はそのほとんどが軸に平行であることから，本システムの衝突推論はドリルの軸に平行な移動のみを扱う。
5 ・ 1   非連統面の検出
移動方向をドリルの軸方向に限定することにより、問題を2次元化できる。いま，ある部品で，移動方向に垂直な断面が非連続に変化する面をその部品の非連続面（以後，D-plane）と定義する。ます。それぞれの部品について各基本立体の両端点のz座標をすべてD-planeの候補とするが、その中にはD-planeではあるけれども実際の衝突推論には不必要なものも含まれている。そこで、ある部品Aについて＋D- plane,  —D-planeというものを次のように定義する。ある部品がz軸のマイナス側から部品Aに向かってz軸のプラスガ向へ移動するとき，必要となる部品Aの非連続面を+D-plane,その反対の場合を-D-planeとする。Fig.6に例を示す。この例は実際にシステムが検出したものであるが、+D-plane, -D-plane双方に若干不要な非連続面が残っている。次に非連続面における各部品の断面を求める。部品の断面は、基本図形を要素とする2次元構造リストにより表現される。今回入力したドリルでは+D-planeが63面、−D-planeが60面
３次元衝突推論
5 ・ 2
前節で求めた非連続面を用いて，3次元衝突推論を実以する。例として、Fig.7のように三つの部品のある状態を考える。いま、Aをz軸マイナス方向に移動させるとする。このとき，必要となるD-planeは，Aの一D- plane(DA1, DA2), Bの+ D - plane(DB1, DB2), Cの+D-plane(DC1)である。まず，Ａの-D-planeとB, Cの+D-planeの全ての組合せのリスト((DA1, DB1)(DA1, DB2)(DA1, DC1)(DA2, DB1)(DA2, DB2)(DA2, DC1))がつくられる.そして、各要素のうちでD-planeのz座標の差が小さいものから順次，部品間の断面の交りを調べていき，交りがあれば衝突し、まったくなければ衝突はないと判断できる. D-plane上における二つの部品の断面の交りが、あるかどうかを調べるために，ここでは二つの断面のそれぞれの2次元構造リストから基本図形間の包含関係を表わす木構造をつくり，その各ノード(基本図影)を，交りを調べる関数で探索を行っていく．アルゴリズムを以下に示す.いま，二つの部品の断面をA，Bとし，また∩，旨はそれぞれ基本図形間の積演算および包含関係を装す. (1) A, Bそれぞれの2次元構造リストから,木構造を生成する。 (2) A, Bのレベルが0の節の組合せをリストとして，未展開節からなるリストOPENに置く。 (3) OPENが空なら, A, Bは交りがない. (4) OPENの先頭変素nを展開すみ節からなるリストCLOSEDに移す。nは, (a, b)とする。ただし, a, bはそれぞれ基本図形, (5) anbがなければ, (3)にいく. (6)   (a ∩ b)⊆ (a(or b or a&b)の子節のマイナスの基本図形の和)が成り立てば(a or b or a&b)の子節のうちでa∩bの全部または一部を含んでいる節を展開する。もし，子節(プラスの基本図形)がなければ，(3)にいく、 (7)  A L Bは,交りがある,例として，Fig.8の(a)の部品の断面A，Bの交り検査を示す。まず，A，Bの2次元構造リストからそれぞれの木構造がつくられる(Fig. 8の(b)).そして，この木をもとにして(2)以降のアルゴリズムが実行される。その結果，この例では交りがないことがわかる。取り外しにz軸に垂直方向の移動を必要とする部品に対しての衝突推論も，近似的ではあるかD-planeを使って実現できる.
5 ・ 3
次に各部品を取外し方向へ平行移動させたときに障害となる部品を，前述の衝突推論を用いて調べる。このとき，移動部品以外の部品はすべて空間に固定されていると考えている.ここで問題となるのは、部品の取外し方向である。部品の取外し方向は，＋PARALLEL (z軸プラス方向), – PARALLEL(z軸マイナス方向),  VERTICAL(z軸に垂直な方向)の3種類がある。本システムでは，P-部品については取外し方向を一意に決定し、他の部品の取外し方向は±PARALLELをデフォールトとしてその両方向について衝突推論を行う。そして，±PARAL- LELで最初にぶつかる部品が同一ならば、取外し方向は垂直方向に変更される。
6．分解手順の自動生成
機械部品などの分解方法や部品間の物理的干渉を探る試みとしては、事前に拘束関係を与えておき、分解手順を調べていく方法[5] . [6]や、定性的な要素から求める方法「1」などがある。それに対して，本システムは，障害部品データおよび接続関係を活用し，各部品の3次元幾何データから分解手順を自動生成する。また，現状では，部品を一つずつ単独で取り外していくものとする.
6 ・ 1   手続きネット
Fig.9に、システムにより自動生成された実際の電気ドリルの手続きネットを示す.手続きネットの各ノードは，操作ノードと呼ばれ,部品名称と取外し方向((+)は+PARALLEL, (一)は一PARALLEL, (V)はVERTICAL)でラベル付けされている．各枝は，操作ノード間の因果関係を表わしていて、精合部は上向きにはAND，下向きにはORとなっている。ORで結合されている操作ノードは並列に分解操作が行えることを、ANDで結合されているところは結合された操作ノードがすべて行われた後にそのノードの操作が可能になることを意味する。また，Startノードは初期状態であり、下線をひいたノードは取外し方向の違いにより二つのノードができているものである。
6 ・ 2 手続きネットの自動生成
手続きネット自動生成の戦略は，人間が未知の電気ドリルを分解するときと同様に、まず取り外せる部品から逐次取り外していき，分解操作間の因果関係を調べ、ネットを構成していくというものである。手続きネットをつくるために，システムは障害部品データを調べ，取り外せる部品を探し、見つかれば操作ノードをつくる。操作ノードが作られるたびにその部品の障害部品データを探り、原因となった部品とネットを結ぶ。このとき，原因となった部品が複数個ある場合はそれらをANDで精合するが，さらに原因となったノード間にも因果関係があるときは，最も最近作られたノードと結合する.以上のことをすべての部品が取り除かれるまで繰り返すことにより，分解操作手順を変わす手続きネットが自動的に生成される。
1．コンサルテーション
1・1   最適分解手順の選択
前楽で自動生成された手続きネットをもとに，システムはコンサルテーションを行う。システムに与えられる要求は，ある部品を検査できるように電気ドリルを分解したいというものである。このとき，本システムは手続きネットを探探して，その部品を取り出すことを目標とした根適の分解手順を選択する。取外し方向が一つの部品についてはそれに至る手続きネットは一つだけ抽出されるが、二つの取外し方向がある場合は手続きネットが二通り生じる。このとき，どちらを選択して教示するか、分解手順の評価が必要となる。本システムでは，各操作にその分解操作の離易度に応じたヒューリスティックなコストをあらかじめつけておき、それを合計した値の小さいほうが、より適切な分解手順であると評価する.スリンガーを分解目標部品としたときの例を示す.スリンガーは、取外し方向が二つある部品で、Fig.10に示すように二通りの手続きネットが抽出される。ここでは，各部品を取り外すのにかかるコストを，ナットは3,ピスは2,その他は1として,双方の分解手順において合計した結果，+PARALLEL方向では52，一PARALLEL方向では38のコストがかかることがわかる。よってシステムは，コストの少ない—PARALLEL方向へスリンガーを取り外す分解手順を採用する。また，この評価法はどの操作ノードから評価を始めるかにより評価値が変化する．よって，現在の分解進度を正確に知ることができれば，その場合に応じたダイナミックな最適の分解手順の教示が可能となる。
1・2 分解手順の教示
次にシステムは前節で得られた最適分解をユーザに教示する。まず，抽出された分解手順のネットをいくつかの分解ステップに分割し、順序づける。この際,なるべく副作用(重力やバネの弾性力によって予想外の部品が外れること)が起こらないように配慮する。次に，どのように実際の分解手順の教示が行われるかであるが，Fig.11にディスプレイのスナップを示す。この画面は，七つのウィンドウから構成されている。以下、それぞれのウィンドウについて説明する。 (1) Graphics windowドリル全体のグラフィクスを表示し、そのうち現分解ステップの分解目標の部品だけを黒く塗りつぶしている。分解部品の位置を見つけるために用いる. (2)  Parts graphics window   分解対象部品のみを表示するウィンドウ。部品一つ一つの細かい特徴を見ることができ，部品の同定に用いられる．現在行われている分解ス(3) Operation windowテップが表示される. (4) Dialogue windowュニケーションを行うウィンドウ. (5) Operation menu      Operation window上の教示文について教示文の詳細化，部品のグラフィックなどの操作を行う. (6) Graphics menu   Graphics windowおよびparts graphics window上に示したのグラフィクスに対して視点の変化，拡大，縮小を行う． (7) Lisp Listener window      リスプ・マシーン本体のインタプリタ・ウィンドウ.以上の構成のディスプレイを使って教示を行う。ます，システムはユーザにoperation window上に示した分解を行うように要求する．そして，しばらくしてユーザに現ステップの分解完了の確認を求める。そこで、まだ完了していないときは、ユーザに何がわからないのかをたずね，それに対して適切なアドバイスをFig. 11 Display snap,する．そして，分解を完了したという返答をユーザから得ると次の分解ステップへ進む.システムのメッセージに対するユーザの返答は，全てYes, Noをマウス・クリックすることによりなされる。これは、ユーザがキーボードを操作する負担をなくすためであり，また自然言語による入力などにおける意味の曖昧さ[8]を避ける目的もある。
8.現状と今後
本システムは，ZETA-LISPを用いてLMI社のリスプ・マシーンLAMBDA上で実現されている。以下、本システムの現状での限界と今後の課題について述べせ。 〔１〕　複雑な取外し方への対応現状では，すべての部品はドリルの軸に並行か垂直な方向の取外しだけを扱っており，複雑な方向の取外し方には対処できない。また，今後，回転について対処可能にしたい
◇参考
[ 1 ]山田誠二，安部憲広，辻三郎：電気ドリル分解・組立てコンサルタント・システムの作成。情報処理学会，「知識情報処理」シンポジウム論文集(1985). [ 2 ] Abe, N., Yamada, S., Tsuji, S. : Consulting sys- tem which detects and undoes erroneus operations by novices, Proc, SPIE, Application of Artificial Intelli- gence IV (1986). [ 3 ] Hart, P. E. : Progress on a Computer Based Consultant,  Proc,  4th IJCAI (1975), [ 4 ] Goodman, B, A, : Repairing Miscommunication, Relaxation in Reference, Proc, AAAI 134/138(1983),
紹
介
#
有
山田 誠二
1984年大阪大学基礎工学部卒業，1986年同大学院修士課程修了、現在，同博士課程在学中、知識工学、人工知能に関する研究に従事, ( 2 )複数部品の一括取外し    本システムは,複数の部品を一度に取り外すこは考えていない。この問題については，手続きネットにおいて隣接している部品どうしは、一度に取り外せるのではないか,まだ，何らかの知識をもとに解決できるのではないかと考えている. 〔 3 〕 コンサルテーションについてンサルテーションのプログラムは最小限の機能しか持っておらず，決して満足のいくものではない．まずメニューの充実が必要である．そして，副作用発生時にシステムが手続きネットをもとに外れた部品を推定して，ユーザに確認してもらい，現状把握をすることを検討中である。また，ユーザの誤操作への対処も今後の雰囲である. 〔 4 〕 組立て教示について  分解の教示には、犬体の枠組ができているが，組立ての教示については、プログラム化されておらず，検討中である。
文　献◇
[5]北鳥克宮,西山隆雄,吉川弘之：機械の有向接続グラフに基づく対話登組立て可能性判断システムの開発,精術機梳、49巻2号(1983). [ 6 ] 我沢熟：DALにおける対象指向プログラミングと組立て構造装現への応用，情報処理学会グラフィックスとCADシンポジウム論文集(1984). [ 7 ] Stanfill, C. : The Decomposition of a Large Domain : Reasoning about Machines, AAAI(1983), [ 8 ] Douglas, E. A. : Planning English Referring Expressions, Artif, Intell, 26 (1985), 〔担当編集委員：白井　良明〕
安部　憲広（正会員）
昭和49年大阪大学大学院博士課程修了.同年同大学創第工学科勤務、工学博士, Lispシステム,言語・画像協調理解シスチムなどに関し研究。現在機械の組立て・分解法に関する知識処理に従事.
三郎(正会員)
社
1953年大阪大学工学部卒業。1955年同大学院修士課程終了。同年電子技術総合研究所入所。1970年から大阪大学基礎工学部制御工学科教授。工学博士。現在，人工知能,コンピュータピジョン,ロボテイックスの研究に従事.