(57)【要約】【課題】  ロボットシステムの動作等を音声入力できるプログラム編集装置。【解決手段】  ワークセル中の配置物体を表わす文字列候補、可変部を持つロボット作業指示の雛形、各配置物体に関連するロボット指令を予め定義しておく。『物体・・はどれ？』等の質問を音声入力し、該当物体を表示色等で応答させてワークセル確認を行なう。作業指示の雛形、編集対象プログラムを表示させ、編集希望箇所を選択する。雛形の文型に即して作業指示を音声入力すると、各雛形の各可変部への文字列候補あてはめを行い、音声認識された文章と一致する完成文章を探し出し、各物体に定義されたロボット動作指令を表示し、画面上でロボット動作を表示する。希望箇所にロボット動作指令をエントリすることができる。物体に関連して予め定義されたサブルーチン等を加入させる編集も可能である。【選択図】  図３
2005148789.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのロボット及び少なくとも１つの周辺物体の３次元モデルを画面上に配置して表示し、前記ロボットの教示プログラムを編集するプログラム編集装置において、
音声入力手段と、
１以上の文字列を所定箇所に当て嵌めて１つの文章を完成させるための雛形を複数個記憶する手段と、
前記雛形に当て嵌める複数の文字列候補を記憶する文字列候補記憶手段と、
前記雛形に前記文字列候補を当て嵌めて完成した文章と、ロボットの教示プログラムで使用する指令との対応関係を記憶する対応関係記憶手段と、
前記記憶された何れかの雛形に前記何れかの文字列候補を当て嵌めた文章の中に、前記音声入力手段から入力された文章と一致する文章があれば、該一致する文章を探し出すサーチ手段と、
前記サーチ手段によって探し出された前記一致する文章を、前記対応関係記憶手段によって記憶されている対応関係に基づいて、ロボット指令に変換し、該ロボット指令を前記教示プログラムに挿入する手段とを備えたことを特徴とする、プログラム編集装置。
【請求項２】
前記教示プログラムの編集中に前記雛型の文字列を画面上に表示する手段を備えたことを特徴とする、請求項１に記載のプログラム編集装置。
【請求項３】
前記教示プログラムの編集中に該教示プログラムの内容を画面上に表示する手段を備え、
前記教示プログラムに前記ロボット指令の挿入結果を確認可能としたことを特徴とする、請求項１又は請求項２に記載のプログラム編集装置。
【請求項４】
前記文字列候補は、前記３次元モデルで示された物体を特定可能な識別文字列であることを特徴とする、請求項１〜請求項３の内の何れか１項に記載のプログラム編集装置。
【請求項５】
前記３次元モデルで示された各物体に関係するロボットの動作指令を、その物体と関連付けて記憶する物体関連指令記憶手段と、
前記サーチ手段によって探し出された文章中に当て嵌められた前記文字列候補が、前記物体を特定する識別文字列である時、該識別文字列を前記物体関連記憶手段に記憶された内容に基づいて、ロボット指令に変換する手段を備えたことを特徴とする、請求項１〜請求項４の内の何れか１項に記載のプログラム編集装置。
【請求項６】
前記ロボット指令により、画面上のロボットの３次元モデルを動作させる手段を備えたことを特徴とする、請求項１〜請求項５の内の何れか１項に記載のプログラム編集装置。
【請求項７】
音声により前記ロボット又は前記ワークが指定された時、画面上の前記ロボット又は前記ワークが認識されたことを示すための表示状態変化を起こさせる手段を備えたことを特徴とする、請求項１〜請求項６の内の何れか１項に記載のプログラム編集装置。
【請求項８】
前記ロボット又は前記ワークの表示状態変化が、表示色の変化であることを特徴とする、請求項７に記載のプログラム編集装置。
【請求項９】
前記ロボット指令が、ロボットの動作指令、周辺機器との入出力指令及び条件文の内の少なくとも１つを含むマクロ指令であることを特徴とする、請求項１〜請求項６の内の何れか１項に記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステムのための教示プログラムの編集に使用することができるプログラム編集装置に関する。
【背景技術】
【０００２】
ロボットシステムのための教示プログラムの作成、修正、追加等（以下、まとめて「編集」という）を行なう場合、従来より教示操作盤あるいはオフラインプログラミングシステムが利用されている。例えば教示操作盤を用いてプログラミングを行なう場合は、ロボットのプログラミング言語に従ってこれを行い、更にロボットを移動させるなどして位置教示等を行っている。また、オフラインプログラミング装置でキーボード、マウスを使い、プログラミングと教示を行う方法も広く利用されている。
【０００３】
このように、ロボットシステムの教示プログラムの作成や編集には、教示操作盤あるいはオフラインプログラミングシステムでのプログラミング、教示、あるいは、それらの修正等の作業を行なう訳であるが、この作業にはロボット専用プログラム言語を修得したり、キーボード等による煩雑な入力が必要なことが一般的であり、専門的な知識、技能が欠かせなかった。そのため、それらに習熟した専門家以外には困難であった。この問題を音声入力で解決した例は、公知文献の中に見当らない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで、本発明の目的は上記した従来技術の難点を解消し、ロボット専用プログラム言語等の専門的知識や特別な技能を修得していない者でも、ロボットシステムのプログラミングを容易に行えるようにすることにある。
【課題を解決するための手段】
【０００５】
本発明は、上記課題を解決するために、音声を入力とし、これに関連した、動作、シーケンスを入力するプログラム編集装置を提供するものである。  
具体的に言えば、本発明は、少なくとも１つのロボット及び少なくとも１つの周辺物体の３次元モデルを画面上に配置して表示し、前記ロボットの教示プログラムを編集するプログラム編集装置に係り、同装置に、音声入力手段と、１以上の文字列を所定箇所に当て嵌めて１つの文章を完成させるための雛形を複数個記憶する手段と、前記雛形に当て嵌める複数の文字列候補を記憶する文字列候補記憶手段と、前記雛形に前記文字列候補を当て嵌めて完成した文章と、ロボットの教示プログラムで使用する指令との対応関係を記憶する対応関係記憶手段と、前記記憶された何れかの雛形に前記何れかの文字列候補を当て嵌めた文章の中に、前記音声入力手段から入力された文章と一致する文章があれば、該一致する文章を探し出すサーチ手段と、前記サーチ手段によって探し出された前記一致する文章を、前記対応関係記憶手段によって記憶されている対応関係に基づいて、ロボット指令に変換し、該ロボット指令を前記教示プログラムに挿入する手段とを具備させることを基本的な要件とするものである。
【０００６】
ここで、プログラム編集装置には、前記教示プログラムの編集中に前記雛型の文字列を画面上に表示する手段を更に具備させることができる。また、前記教示プログラムの編集中に該教示プログラムの内容を画面上に表示する手段を具備させ、前記教示プログラムに前記ロボット指令の挿入結果を確認可能とすることができる。前記文字列候補としては、例えば前記３次元モデルで示された物体を特定可能な識別文字列を採用することができる。
【０００７】
また、プログラム編集装置に、前記３次元モデルで示された各物体に関係するロボットの動作指令を、その物体と関連付けて記憶する物体関連指令記憶手段と、前記サーチ手段によって探し出された文章中に当て嵌められた前記文字列候補が、前記物体を特定する識別文字列である時、該識別文字列を前記物体関連記憶手段に記憶された内容に基づいて、ロボット指令に変換する手段とを更に具備させることもできる。また、前記ロボット指令により、画面上のロボットの３次元モデルを動作させる手段を具備させることもできるし、音声により前記ロボット又は前記ワークが指定された時、画面上の前記ロボット又は前記ワークが認識されたことを示すための表示状態変化を起こさせる手段を具備させることもできる。
【０００８】
ここで、前記ロボット又は前記ワークの表示状態変化は、例えば表示色の変化として良い。また、前記ロボット指令は、ロボットの動作指令、周辺機器との入出カ指令及び条件文の内の少なくとも１つを含むマクロ指令とすることができる。
【発明の効果】
【０００９】
本発明によれば、音声を入力とし、これに関連した、動作、シーケンスを入力するプログラム編集装置が提供されるので、専門的知識、技能の修得を行なわなくても簡単にプログラミングを行えるようになる。その結果、ロボットシステム構築のための工数や人的負担を軽減することが可能になる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施形態について説明する。先ず図１は、本実施形態に係るプログラム編集装置の概略構成をブロック図で示したものである。同図に記した通り、プログラム編集装置は、ＣＰＵと、このＣＰＵのバスラインに接続されたメモリ（ＲＯＭ、ＲＡＭ、不揮発性メモリ）、グラフィック制御回路、キーボード／マウス（ニュアル入力装置）、通信インターフェイス及びヘッドフォン／マイクと、グラフィック制御回路に接続されたディスプレイ（例えば液晶表示装置、ＣＲＴ等）からなる。また、図示を省略したが、必要に応じて、プリンタ、パーソナルコンピュータ等の外部機器との間でデータの授受を行なうための入出力装置等が装備される。
【００１１】
メモリには、以下に説明する表示やプログラミングの対象とされるロボットの３次元形状データ（寸法データを含む；以下、同様）、ワークの３次元形状データの他、必要に応じて、ロボットに搭載する視覚センサ（撮像装置）やツール（例えばハンド、アーク溶接トーチ、スポット溶接ガンなど）、あるいは、周辺物体（例えばワークの治具、工作機械など）の３次元形状データ等が格納される。
【００１２】
また、グラフィック制御回路を動作させて、それら３次元モデルで定義された諸物体を表示空間（プログラミングムを行なう３次元空間）内で表示させたり、ロボット指令に対応した動きをアニメーション形式で表示させたりするためのプログラム、諸設定値等が格納されている。ここで、表示空間内での諸物体（３次元モデル）の配置位置／姿勢は、ワークセルのデータで定義される。ワークセルは、プログラミング対象とされるロボットシステムの配置単位で、プログラミング対象とされるロボットシステムに含まれる物体（ロボット、ワーク、周辺機器等の３次元モデル）を指定し、それら指定された各物体の初期位置／姿勢を指定するデータを含む。ワークセルの定義内容の変更は、例えばキーボード／マウスを操作して随時可能である。
【００１３】
そして、本実施形態に係るプログラム編集装置には、これら構成及び機能に加えて、以下に説明する手順と処理内容で、マイクを用いた音声入力によるプログラム編集（詳細後述）及びそれらに関連する表示、音声出力等を行なわせるためのソフトウェア（音声認識プログラム等）が装備されている。  
本実施形態では、先ず、音声入力によるプログラム編集に必要な準備を図２のフローチャートに示した手順で行なっておく。各ステップの要点は次の通りである。なお、以下の説明においては、特にことわりの無い限り、ロボット、ワーク、ツール、その他周辺物体等の呼称は、それぞれ各物体の３次元モデルのことを指すものとする。
【００１４】
ステップＳ１；編集対象のプログラムに対応するワークセルで配置される可能性がある複数個の物体のそれぞれに対応させて、文字列候補を例えばキーボードを用いて入力しておく。文字列候補には、ロボット名、ワーク名、周辺物体名等が含まれる。入力された文字列は、プログラム編集装置の不揮発性メモリに格納される。ここで、ワークセルを記述するデータ中の配置物体（３次元モデル；以下、同じ）ラベルデータと文字列候補とは、１対１で対応付けられており、従って、ワークセルをディスプレイに表示した時、配置物体を文字列で指定すれば、それがどれを指すのか、ＣＰＵが判断できるようになっている。そして、後述するように、本実施形態ではこの配置物体の指定を音声入力（質問形式）で行なうことができるようになっている。
【００１５】
また、入力される文字列候補は２つのカテゴリのいずれかが属性として定義されているものとする。第１のカテゴリはロボット名のカテゴリで、便義上●印で表わすことにする。そして、第２のカテゴリはロボット以外の物体名（ワーク名、周辺物体名、ツール名等）のカテゴリで、便義上○印で表わすことにする。プログラム編集装置は、これら文字列候補をカテゴリ情報とともに記憶する。ここでは、一例として、下記の文字列候補を入力しておくものとする。
【００１６】
●ロボット１
●ロボット２
○ワーク１
○ワーク２
○ワーク３
○ワーク４
○ワーク５
○工作機械１
○ワーク出入口１（工作機械１のワーク出入口）
○テーブル１
文字列の入力が完了したらステップＳ２へ進む。
【００１７】
ステップＳ２；ロボット作業指示の複数の雛形を例えばキーボードを用いて入力しておく。雛形の記述は、可変部と非可変部からなる文章で行なわれる。可変部はロボット名（第１のカテゴリの文字列）をあてはめることを意味するバリアブル（可変ターム；以下、同じ）あるいはそれ以外の物体名（第２のカテゴリの文字列）をあてはめることを意味するバリアブルとして記憶される。以下の雛形記述では、ロボット名をあてはめることを意味するバリアブルを「ロボットＸ」、「ロボットＹ」等で表わし、それ以外の物体名をあてはめることを意味するバリアブルを「物体Ａ」、「物体Ｂ」等で表わすことにする。表示画面においてもこの表記が採用される。Ｘ、Ｙ、Ａ、Ｂ等のアルファベットは、ロボットあるいは物体名が特定の具体物体名でないことを意味している。
【００１８】
また、非可変部には述語、助詞、名詞等を表わす文字または文字列が含まれ、名詞を表わす文字列に、後述するステップＳ３で入力するロボット動作指令中で使用されている特定タームの内のいずれかと一致する文字列が含まれていても良い。以下の説明では、このような文字列を“”内にその具体名を入れて表わすことにする。例えば、“アーク溶接位置”、“スポット溶接位置”などがこれに相当する。
【００１９】
このように、可変部、非可変部のいずれについても、後の音声入力時にあてはめを行なうべき箇所は「・・・・」で表示し、物体に付属して次のステップＳ３で準備されるロボット指令中の特定タームは、“・・・・”で表示する。また、プログラム編集装置は、雛形の記憶にあたって、「・・・・」については「」に対応するヘッダを付して「」内の・・・・を記憶し、“・・・・”については、“”に対応するヘッダを付して“”内の・・・・を記憶する。このようにして用意された雛形は、随時、ディスプレイに画面表示可能とされる。雛形を表示した画面の一例を図３に示した。
【００２０】
ステップＳ３；ステップＳ１で入力された文字列候補が意味するロボット以外の物体について、関連するロボット指令を予め定義しておく。例えば、図３の例にあるように、『「ロボットＸ」が「物体Ａ」を持つ』という雛形が用意されているケースでは、物体Ａとして指定（後述する音声入力で指定）されることが考えられるのは上記したワーク１〜ワーク５であるとして、ワーク１〜ワーク５の各々について、ロボットハンドによる把持のためのアプローチ点のロボット位置・姿勢データ及び把持を行なう点のロボット位置・姿勢データなどが予め記憶される。このデータは、『「ロボットＸ」が「物体Ａ」を持つ』という雛形に所属するデータとして記憶される。同様に、各雛形に所属させて、各雛形の完成時に含まれ得る各物体に関連させて、動作指令の具体データが記憶される。
【００２１】
次に、本実施形態ではワークセルの確認を図４のフローチャートに示した手順で行なっておく。各ステップの要点は次の通りである。
【００２２】
ステップＴ１；編集対象のプログラムに対応するワークセルを表示する。なお、ワークセルの定義は周知の方式で予め完了しているものとする。即ち、例えばロボット、ワーク、周辺物体等を仮配置したワークセルの雛形を外部のＣＡＤ装置（図示省略）で予め用意しておき、これを通信インターフェイスを介して一旦プログラム編集装置に取り込み、画面上で必要な修正、追加、削除等を行なって、ワークセルを定める。勿論、他の方法、例えば既存の類似したワークセルのデータを他の電子データ記憶媒体（パーソナルコンピュータのハードディスク、フレクシブル磁気ディスク等）から取り込んで良いし、プログラム編集装置上で新たに作成しても良い。図５に表示されるワークセルの一例を示す。
【００２３】
本例のワークセルで配置されている物体名は、下記のものである（括弧内は図５における参照符号）。 
ロボット１（ＲＢ１）
ワーク１（Ｗ１）
ワーク２（Ｗ２）
ワーク３（Ｗ３）
ワーク４（Ｗ４）
ワーク５（Ｗ５）
工作機械１（ＭＣ１）
ワーク出入口１（ＭＨ１）
テーブル１（ＴＢ１）
なお、図５中の符号Ｈ１は、テーブル１（ワーク用の治具を装備したワーク置台）上に位置決めされて置かれているワーク１〜ワーク５の把持に適合したハンドで、ロボット１（ＲＢ）のアーム先端に装着されている。また、符号ＭＨ１は工作機械１のワーク受入口で、ここにハンドＨ１で把持したワークを置く（挿入する）例が後述される。
【００２４】
ステップＴ２；音声認識モード１を起動する。この音声認識モード１は、下記のステップＴ３で音声入力される文、節あるいは単語を音声認識し、「質問」として解釈・応答するモードである。  
ステップＴ３；質問を音声入力する。質問は、『・・・・はどれですか？』、『・・・・はどれ？』、『・・・・は？』などの物体名を付けて尋ねる呼びかけ文、あるいは、単純に『・・・・』と物体名のみを呼びかけるもののいずれであっても良い。具体例を挙げれば、『ロボット１はどれですか？』、『ワーク１はどれ？』、『工作機械は？』、『ワーク３』などとなる。
【００２５】
ステップＴ４；入力された音声を音声認識し、表示されているワークセル中のどの物体（３次元モデル）であるかを判断して応答表示する。例えば図５に示したワークセルについて、『ワーク２はどれ？』、『ワーク２』などと音声入力されていれば、画面上のワーク２（Ｗ２）を表示色変更等で強調表示する。ワークセル中に該当物体がない場合には、その旨のメッセージを画面表示する。なお、応答にあたっては、ヘッドフォンに人工音声で該当物体の有無を出力しても良い。
【００２６】
ステップＴ５；音声入力すべき質問が残っていれば、ステップＴ３へ戻って次の質問を音声入力する。以後、質問が無くなるまで、ステップＴ３〜Ｔ５を繰り返す。質問が無くなれば処理は終了する。  
なお、このような音声入力による質問−応答の対象物は、ワークセルの定義に使用しているターム（文字列）を媒介にして拡張することができる。例えば、；音声認識モード１で有効となる文字列候補として、図５中のハンドＨ１に対応させる文字列『ハンドイチ』を用意しておけば、音声で『ハンドイチは？』という入力があった時、図５中のハンドＨ１を強調表示することができる。
【００２７】
以上のようにして、準備とワークセルの確認を終えたなら、プログラム編集を行なう。プログラム編集の処理の流れの一例を図６にフローチャートで示した。各ステップの要点を説明すれば次のようになる。  
ステップＵ１；上述のステップＴ１と同じく、編集対象のプログラムに対応するワークセルを表示する。ここでは、図５に例示したワークセルを表示する。  
ステップＵ２；音声認識モード２を起動する。この音声認識モード２は、下記のステップＵ６で音声入力される文、節あるいは単語を音声認識し、作業指示を行なう解釈モードである（詳細後述）。  
ステップＵ３；作業指示の雛形を表示する。例えば、図３に示した雛形を表示する。
【００２８】
ステップＵ４；編集対象のプログラムを表示する。表示例（プログラム名；Ｓ５Ａ＿０１Ａ２）を図７に示した。なお、３行目の命令文が強調表示（網かけ等）されているが、これは次ステップでの編集箇所の識別のためである。
【００２９】
ステップＵ５；プログラムのどの箇所を編集（手を加えること）するかを選択し、選択結果を表示する。編集箇所の選択は、ここでは［行の指定＋同行の前挿入］、［行の指定＋同行の後挿入］、［行の指定＋同行の置換（上書き更新）］のいずれかをオペレータがキーボード等で指定するものとする。指定行は強調表示される。また、前挿入／後挿入／上書き更新］の区別は、例えば指定行の強調表示の種別（色別、網掛け、アンダーライン、明暗反転等）で表現すれば良い。図７で示した例では、３行目の命令文が指定行で網掛け表示されている。ここでは一例として、後挿入を選択したものとする。
【００３０】
ステップＵ６；作業指示を音声入力する。入力にあたっては、必要に応じて雛形表示画面を呼出し、それを見ながら、ステップＵ５で指定した箇所に書き入れたい作業指示を、雛形の文型に整合するように話す。ここでは一例として、図３に示した雛形リスト中の１番目に挙げられている雛形に文型をならって、『ロボット１がワーク１を持つ』と音声入力するものとする。
【００３１】
ステップＵ７／Ｕ８／Ｕ９；プログラム編集装置は、音声認識機能を使って作業指示の理解処理を実行する。即ち、各雛形の各可変部に文字列候補をあてはめて完成した文章を順次作成し、各完成文章と音声認識された文章が一致するか否かをチェックしていく。一致した文章が見つかったら、ステップＵ８でイエスを出力し（画面にその旨表示）、ステップＵ１０へ進む。もし、あらゆる雛形について、各可変部にどの文字列候補をあてはめて文章を完成させても、音声認識された文章と一致する文章を探し出せなかったら、ステップＵ８でノーを出力し、ステップＵ９で再入力の指示を表示（あるいはヘッドフォンで人工音声告知）してステップＵ６へ戻る。
【００３２】
なお、ステップＵ６〜ステップＵ９を何度繰り返しても、ステップＵ１０へ進めない場合は、なんらかの異常（例えば文字列候補の入力漏れ）と考えられるので、処理を強制終了して原因を調べる。
【００３３】
ステップＵ１０；ステップＵ９で探し出した完成文の雛形に所属し、且つ、各物体に対応して記憶されているロボット動作指令（前述した準備のステップＳ３を参照）を読み出し、表示する。上記の例では、『ロボット１がワーク１を持つ』という音声入力に対して雛形リスト（図３）中の１番目の雛形が完成されるので、それに応じて、ワーク１に対応して記憶されているロボット動作指令が読み出され、表示される。そこには、ロボット１がワーク１を把持する際のアプローチ点及び把持点の位置／姿勢のデータが含まれている。
【００３４】
ステップＵ１１；表示されたロボット動作指令データに対応した動作をアニメーション形式で画面表示する。例えば、図５に示した画面中のロボット１（ＲＢ１）が、アプローチ点を経て把持点まで動く様子が表示される。
【００３５】
ステップＵ１２；その動作指令を採用して、ステップＵ５で選択した箇所にエントリしても良いか（例えば周辺機器との干渉の危険はないか）を検討し、問題がなければステップＵ１３へ進む。採用を取りやめる場合は、ステップＵ４からやり直す。
【００３６】
ステップＵ１３；動作指令をステップＵ５で選択した箇所にエントリする。これにより、例えば図７に示したプログラムの第３行目と、第４行目の間に、上記の採用されたロボット動作指令に対応する動作文が挿入される。動作文の行数に応して、編集前の第４行目以下の文は順次行番号が繰り下がることになる。  
ステップＵ１４；編集続行の必要があれば、ステップＵ４へ戻り、次の編集希望に従ってステップＵ４以下を実行する。編集続行の必要がなければ、処理を終了する。
【００３７】
なお、ここまでの説明では、物体に対応して定義されている指令はロボットの動作指令であるとしたが、これを拡張して、周辺機器との入出カ指令や条件文等を含むマクロ指令を扱うようにすることもできる。以下、その一例について簡単に説明しておく。ここでは、次のケースを考える。  
（１）上記した実施形態のステップＳ３で、ワーク１及び工作機械１に対応させて下記のようなサブルーチンを予め定義しておく。（）内は、文の趣旨を表わしている。
【００３８】
先ず、ワーク１に対応定義しておくサブルーチンは次の通りとする。
【００３９】
PROG WorkPick （サブルーチンの名前）
JP1 100% CNT,100 （アプローチ点への動作）
LP2 500M  FINE  （把持点への動作）
SDO [1] ON      （ワークを把持；ハンド閉める）
IF RDI[1]=OFF, GO TO LBL[999] （把持できなければエラー；システム停止）
LP3 500M  CONT,100  （離反点への動作）
END
LBL[999]
END
一方、工作機械に対応定義しておくサブルーチンは次の通りとする。
【００４０】
PROG KousakuInsert （サブルーチンの名前）
WAIT SDI[1]=ON （工作機械１が先行するワークの加工を完了し、次のワークの受け入れが可能になるまで待機）
JP1 100% CNT,100 （アプローチ点への動作）
LP2 500M  FINE  （工作機械１（ワーク出入口１）に挿入する）
SDO [1] OFF      （ワークを離す；ハンド開放）
IF RD[1]=ON, GO TO LBL[999] （もし把持解除できなければエラー；システム停止）
LP3 500M  CONT,100  （離反点への動作）
END
LBL[999]
END
以上が上記した実施形態のステップＳ３で、ワーク１及び工作機械１に対応させて定義しておくサブルーチンである。
【００４１】
（２）上記した実施形態におけるワークセル確認を終えたら、ステップＵ１以下の手順を順次実行する。ステップＵ４で表示されるプログラムは、ここでは同じとする（プログラム名；Ｓ５Ａ＿０１Ａ２）。そして、ステップＵ５で選択する編集箇所は、今度は第３行の前挿入（あくまで一例）として、ステップＵ６へ進む。ステップＵ６で音声入力される作業指示は、『ロボット１がワーク１を持ち、工作機械１に置く』とする。
【００４２】
すると続くステップＵ７で、プログラム編集装置は、音声認識機能を使って作業指示の理解処理を実行し、各雛形の各可変部に文字列候補をあてはめて完成した文章を順次作成し、一致した文章をサーチする。ここでは、図３の雛形リスト中の４番目の雛形が完成される。即ち、ロボットＸ＝ロボット１、物体Ａ＝ワーク１、物体Ｂ＝工作機械１で、完成文と音声認識された文とが一致する。
【００４３】
ステップＵ９からステップＵ１０へ進むと、上記の通りワーク１に対応して記憶されているサブルーチン（PROG WorkPick）と、工作機械１に対応して記憶されているサブルーチン（PROG KousakuInsert）が順次読み出され、表示される。そして、ステップＵ１１で表示されたデータに対応した動作がアニメーション形式で画面表示される。
【００４４】
ステップＵ１２でその動作指令を採用すれば、選択し箇所に上記各サブルーチンが挿入される。関連部分だけを示せば、下記のようになる。  
（編集前）
・・・・・・・・・・・・・・・・・・・・・・・・
２：カクジク  イチレジ  ［１］  ３０％  イチギメ
３：チョクセン  イチ  ［1:cf_01a2］2000mm/sec  ナメラカ  ５０；
・・・・・・・・・・・・・・・・・・・・・・・・
（編集後）
・・・・・・・・・・・・・・・・・・・・・・・・
２：カクジク  イチレジ  ［１］  ３０％  イチギメ
CALL PROG WorkPick
CALL PROG KousakuInsert
３：チョクセン  イチ  ［1:cf_01a2］2000mm/sec  ナメラカ  ５０；
・・・・・・・・・・・・・・・・・・・・・・・・
このようにして、条件文やマムロ指令を含むような指令をエントリする形での編集を音声入力で行なうことができる。
【図面の簡単な説明】
【００４５】
【図１】本実施形態に係るプログラム編集装置の概略構成をブロック図で示したものである。
【図２】本発明の実施形態においてプログラム編集に先だって実行される準備の手順の概略を示したフローチャートである。
【図３】雛形シスト表示画面の一例を示す図である。
【図４】本発明の実施形態においてプログラム編集に先だって実行されるワークセル確認の手順の概略を示したフローチャートである。
【図５】ワークセル表示画面の一例を示す図である。
【図６】本発明の実施形態で実行されるプログラム編集の手順の概略を示したフローチャートである。
【図７】本発明の実施形態におけるプログラム編集の対象プログラムの一例を示した図である。
【符号の説明】
【００４６】
Ｈ１  ロボット１に装着されたハンド
ＭＣ１  工作機械１
ＭＨ１  工作機械１のワーク出入口１
ＲＢ１  ロボット１
ＴＢ１  テーブル１
Ｗ１〜Ｗ５  ワーク
【図１】
2005148789.tif 000003
【図２】
2005148789.tif 000004
【図３】
2005148789.tif 000005
【図４】
2005148789.tif 000006
【図５】
2005148789.tif 000007
【図６】
2005148789.tif 000008
【図７】
2005148789.tif 000009