説明

産業用ロボット

【課題】ロボットに対して簡単に指令を与えることができ、必要な処理のみを自動的に安全で確実に実行するようにする。
【解決手段】ロボット機構部1を制御するロボット制御装置2には、常時ロボットの状態を検出しロボット状態データ22bとして記憶している。ヘッドセット4から音声で入力された作業命令は、音声/文字データ変換装置3で文字データに変換され制御装置2に入力される。制御装置2は、管理データ23bに記憶する作業命令から入力された作業命令と一致するものを探す。一致した作業命令に対してリンクして記憶する実行プログラムグループを特定する。各実行プログラムは、実行順序とその実行プログラム及び判断部を備え、実行順序順に, ロボット状態データに基づいて実行プログラムを実行できるか否か判断部で判断し、実行できるプログラムのみ実行して指令された作業命令を遂行する。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は産業用ロボットに関する。特にロボットの動作指令を容易にした産業用ロボットに関する。
【0002】
【従来の技術】
産業用ロボットを稼働させるためには、産業用ロボットに対してロボットの動作点の位置や、システムの他の構成機器とのインターロックを取るための信号入出力を記述したロボットプログラムの作成が必要である。
【0003】
ロボットプログラムには、生産システムから、ロボットに対して生産開始の指示が行われてから、ロボットの手首先端に取り付けられたツールを用いて、ロボットが溶接作業や、搬送作業等の生産活動を行い、生産活動が終了するまでの全てのロボットの作業動作が記述されている。そのためロボットプログラムの最初から最後までを通して実行する場合には、ロボットプログラム実行させればよいものであるから問題はないが、ロボットプログラムに記述されているロボット作業のうちの一部分だけを実行したり、一部だけは一時的に実行しなかったり、ロボットプログラムのある場所で作業を停止させ、ここで他のロボットプログラムに記載されている作業の一部を実行し、停止した場所から元のロボットプログラムを再開する等の動作をさせることは困難であった。
【0004】
例えばロボットプログラムに記述された各作業が作業者の意図した通りに正しくロボットが実行できるかどうかを検証するためには、ロボットプログラムを最初から実行するのではなく、検証したい作業だけを何度も繰り返し実行させたい場合がある。これを実行するには、まずロボットプログラムのプログラムカウンタを作業開始前の場所に強制的に移動し、ここでロボットの現在位置や、I/O信号の状態や、レジスタの値等を確認し、ロボットプログラムを最初から実行した場合におけるロボットの現在位置や、I/O信号の状態や、レジスタの値と同じになるように、これらを手動で変更した後、ロボットプログラムを再開し、検証したい作業をロボットに実行させていた。再度同じ作業を検証したい場合には、この作業を繰り返し行っていた。
【0005】
ロボットプログラムを最初から最後まで連続して動作している場合において、一旦、ロボットプログラムを停止し、再度ロボットプログラムを最初から実行しようとした場合、例えばロボットが重量物を把持して搬送中に不用意にロボットプログラムを停止してしまった場合には、搬送物の落下や動作経路がずれることによる周辺機器との干渉等の問題が発生してしまう。そのため、作業者はロボットプログラムを停止可能なタイミングを見計らって停止させている。
【0006】
また、重量物のワークを把持しているが、ワーク置台にまだワークが載置された状態にあるときは、ワークを把持しているハンドに対してハンドオープンをするための信号出力を手動出力しても問題はないが、ワークを置台から持ち上げた状態でハンドオープンを行った場合には、ワークが落下することとなるため、作業者は信号出力を手動で出力する前には、ロボットの状況を十分に考慮して、ハンドオープンの指令を行っている。
【0007】
産業用ロボットが稼動しているスポット溶接ラインにおいて、溶接ガンによって車体の内部を溶接作業中にロボットにアラームが発生し、アラーム原因からロボットプログラムの再開が不可能と判断された場合には、まず溶接ガンを全開に開いた状態とし、次にロボットを手動で移動させて、溶接ガンを車体の外部に移動させ、次にロボットを車体と干渉しない場所まで手動操作で移動させた後、ロボットプログラムを再び先頭から実行する必要があった。スポット溶接ラインでは複数のロボットが稼動していることが一般的で、ロボット同士が干渉しないように、I/O信号等でインターロックを取っていることが多く、そのため、アラームが発生したロボットのスポット溶接作業の終了を他のロボットが待っていることがあり、その場合には干渉しない位置にロボットを手動で移動させた後に、手動で溶接作業完了のインターロック信号を出す必要があった。このようにアラームが発生して、ロボットが停止した後、ロボットを復旧しラインの作業を再開するには、手動で復旧作業を行わなければならなかった.
また生産ラインでアラームが発生した場合、アラームの内容を理解して、アラームの原因を特定し、それを除去するために、ロボットの教示操作盤によって、アラームコードの確認を行い、ロボットのマニュアルでアラームコードの意味を調査し、そのアラームが発生する可能性のあるロボットの部品を特定し、その部品の状態信号の状態を教示操作盤から調査している。実際にはアラームコードからアラームが発生する可能性のある部品をただちに特定して、その部品の状態を調査することは困難であり、アラームが発生する可能性のあるたくさんの部品を、可能性の高い順に一つ一つ調査して、アラーム発生個所を突き止める必要があった。調査に際しては、教示操作盤から状態信号を表示するための画面を呼び出して、状態信号を確認する必要があった。
【0008】
アラームの原因が判明し、原因が取り除かれ、ロボットプログラムをアラーム発生個所から再開する場合においても、アラーム発生時にロボットが非常停止により惰走しているため、このままの状態でプログラム再開すると、教示した動作パスとは異なるパスを動作することになり、周辺装置や冶具等とロボットが干渉する問題が発生してしまう。再開するためには、まずロボットを本来の動作パスの上にくるように手動で移動させた後に、プログラムの再開を行わなければならなかった。
【0009】
【発明が解決しようとする課題】
上述したように、従来の技術においては、ロボットプログラムに記述されているロボットの作業の内、その一部分だけを実行したり、一部だけは実行しなかったり、ロボットプログラムを任意の場所に停止して、ここでロボットプログラムに記述されていない作業を実行後に、元のプログラムの実行を再開したりすることが安全・容易に行えないという問題があった。又、ロボットが作業を正しく実行することができることを検証するためには、ロボットプログラムから、その作業の部分だけを何度も行いたいが、これが容易に行えなかった。
【0010】
ロボットプログラムを停止する場合には、状況を判断して、停止するタイミングをよく考慮する必要があった。ハンドオープンのような手動でロボットを操作する場合にも、ロボットの現在の状況を十分に考慮して、操作してはいけない操作をよく検討する必要があった。アラームが発生して、ロボットプログラムを途中で終了する場合には,終了するために必要な作業を作業者は状況を判断して行う必要があった。
【0011】
さらに、アラームの原因を特定するためには、作業者はアラーム発生する可能性のあるたくさんの部品の状態を全て教示操作盤によって確認していかなければならなかった。アラームからの再開においても、アラームを再開するために必要な作業を作業者は状況から判断し、必要な作業を実施後にロボット動作の再開を行う必要があった。
【0012】
ロボットに何か作業を行わせるためには、ロボットがその作業を行う前に、必要と思われる作業をまず作業者が教示操作盤等から手動にて行う必要がある。つまり作業者はロボットに行わせたい作業を行わせているわけではなく、作業者は、まずその作業を行うために必要となる追加作業や、その作業をさらに細かい作業に分割することを、ロボットの状態を元に作業前に検討を行って、多くの小さな作業を教示操作盤からの手動操作もしくは、ロボットプログラムを実行するということで実行している。すなわち、作業者はロボットに直接作業命令を行うことができないものである。作業者が本来要求したかった作業をロボットは実行できないのである。
【0013】
そのため、スキルの乏しい作業者がロボットの操作を行った場合に、正しく必要な作業を検討することができず、これによりロボットに求められた作業をさせることができない。正しく作業分析ができたとしても、ある作業は教示操作盤から手動で行い、ある作業はロボットプログラムを実行して行うといった、作業を実行する手段が異なるため、これを判断できない作業者には、ロボットに求められた作業を行わせることができないのである。つまりロボットを操作することができる作業者は、これらのことが正しく判断できる者でなければならず、熟練を必要とし、誰でもができるというものではないという問題があった。
【0014】
そこで、本発明の目的は、上述した従来の技術の問題点を改善することにある。
【0015】
【課題を解決するための手段】
本願請求項1に係わる発明は、複数の作業命令と各作業命令に対して1つ又は複数の実行プログラムとが対応付けされた組合わせを記憶する記憶手段と、該記憶手段に記憶された複数の作業命令の中から、入力された作業命令と一致するものを検出する手段と、検出された作業命令に対応する1つ又は複数の実行プログラムに対して、ロボットの状態に基いて実行するか否かを判断する判断手段と、実行すると判断された実行プログラムを実行する手段とを備えることを特徴とする産業用ロボットである。又、請求項2に係わる発明は、各作業命令に対応する複数の実行プログラムに対して、判断手段により判断する順序が予め設定されているものである。
【0016】
又、請求項3に係わる発明は、複数の作業命令と各作業命令に対して該作業命令を実行し完了するまでに必要の可能性のある複数の所定作業単位の実行プログラムとがその実行順序と共に対応付けて記憶された記憶手段と、該記記憶手段に記憶された複数の作業命令の中から、入力された作業命令と一致するものを検出する手段と、検出された作業命令に対応する複数の実行プログラムに対して、その実行順位順にロボットの状態に基いて実行するか否かを判断する判断手段と、実行すると判断された実行プログラムを実行する手段とを備えることを特徴とする産業用ロボットである。
【0017】
又、請求項4に係わる発明は、前記各作業命令に対応する複数の実行プログラムに対して、前記判断手段により、1つの実行プログラムを実行すると判断したときには、同一実行順序のほかの実行プログラムは実行しないと判断するようにした。上述した各請求項に係わる発明の産業用ロボットにおいて、請求項5に係わる発明は、音声入力手段を備え、該音声入力手段より作業者の音声による作業命令を入力するようにしたものである。請求項6に係わる発明は、この音声入力手段を産業用ロボットの教示操作盤に設けたものである。請求項7に係わる発明は、音声入力手段に入力される作業者の音声を拡声して知らせる手段を備えるようにしたものである。請求項8に係わる発明は、実行すると判断された実行プログラムの内容を表示する手段と、実行許可を受け付ける手段とを備えるようにした。又、請求項9に係わる発明は、作業命令を受け付けたことを産業用ロボットの教示操作盤の画面に、受け付けた作業命令を文字として表示することにより知らせるようにした。さらに、請求項10に係わる発明は、作業命令を受け付けたことを産業用ロボットに接続した情報処理装置の画面に、受け付けた作業命令を文字として表示することにより知らせるようにした。又、請求項11に係わる発明は、作業命令を受けつけたことを、ランプ、または音声により知らせるようにしたものである。
【0018】
【発明の実施の形態】
図1は本発明の一実施形態の概要図である。1はロボット機構部、2はロボット機構部1を制御するロボット制御装置である。該ロボット制御装置2は、プロセッサ21にバス27を介して、システムプログラム22aとロボットの現在状態を表すロボット状態データ22bを保存するシステムメモリ22、ロボットプログラム23aと該ロボットプログラム23aを管理するための管理データ23bとを記憶するための不揮発性のプログラムメモリ23、通信ポート26、外部機器と信号の入出力を行うための信号入出力器25が接続されている。プロセッサ21は、システムプログラム22aにより常にロボット機構部1の現在値や、信号入出力器25の状態を検出しロボット状態データ22bとして、システムメモリ22内に書き込んでいる。又、通信ポート26には、音声/文字データ変換装置3、教示操作盤6、情報処理装置7が接続されている。
【0019】
音声/文字データ変換装置3には作業者が頭部につけるヘッドセット4が接続されている。音声/文字データ変換装置3は、入力された音声を認識し文字データに変換し、又、入力された文字データを音声に変換する音声/文字データ変換装置である。ヘッドセット4は音声出力装置であるヘッドフォン41と音声入力装置であるマイク42を備える。音声/文字データ変換装置3はヘッドセット4のマイク42から入力された作業命令等の音声データを認識し、これを文字データに変換し、ロボット制御装置2に転送する。又、音声/文字データ変換装置3は、ロボット制御装置2から転送された文字データを音声データに変換し、ヘッドセット4のヘッドフォン41に出力する。又、音声/文字データ変換装置3には、拡声装置5が接続され、作業者が該音声/文字データ変換装置3に入力された音声を該拡声5で拡声し、周囲に知らせると共に入力した音声指令を確認できるようにしている。
【0020】
教示操作盤6は、各種のロボットの状態や動作プログラム等を表示するための液晶表示器61と、ロボット制御装置2を介してロボット機構部1を手動で動作したり、各種のデータの設定を行うためのキーボード62を持つ。情報処理装置7はロボット制御装置2を管理するコンピュータで、パーソナルコンピュータ等で構成されており、表示器71、各種データ、指令を入力のためのキーボード72を備える。なお、教示操作盤6及びヘッドセット4は、作業員が直接使用するものであるから、図1に示すように教示操作盤6と音声/文字データ変換装置3を分離して設けずに、教示操作盤6に音声/文字データ変換装置3を設けるようしてもよい。
【0021】
図2はプログラムメモリ23に格納されたロボットプログラム23aと管理データ23bの詳細を示すブロック図である。管理データ23bには、作業者がヘッドセット4のマイク42を用いてロボットに音声で指示する作業命令が記録されている。例えば、ロボットの動作を停止し、生産サイクルを停止する際に命令する命令M1の“サイクルテイシ”や、該命令M1の“サイクルテイシ”で停止したサイクルの再開を準備するために命令する命令M2の“サイカイジュンビ”、又、アラームが発生した際にその原因を特定するために命令M3の“アラームシンダン”といった作業命令M1,M2,M3,……が複数格納されている。管理データ23bには各作業命令M1,M2,M3,……に対応して実行プログラムのグループG1,G2,G3,…・を特定するための、リンク情報L1,L2,L3……をもつ。
【0022】
ロボットプログラム23aには、プロセッサ21によって実行される実行プログラムが多数記憶されている。記憶されている実行プログラムには、作業命令M1の命令を実現するために、実行する必要が生じる可能性がある1以上の実行プログラムのグループG1、作業命令M2の命令を実現するために、実行する必要が生じる可能性がある1以上の実行プログラムのグループG2、作業命令M3の命令を実現するために、実行する必要が生じる可能性がある1以上の実行プログラムのグループG3等、作業命令Miの命令を実現するために実行する必要が生じる可能性がある実行プログラムのグループGi(但し、i=1,2,3/……)が、このプログラムメモリに格納されている。
【0023】
さらに、各グループGiは1又は複数の実行プログラム有し、各実行プログラムは実行順序x、該実行プログラムを実行するかどうかを判断するための判断部y、該判断部yによって実行すべきと判断された場合に、実際に作業を実行する実行部zを持つ。図2に示すグループG1の例で、説明すると、該グループG1には、g11〜g16の実行プログラムを有し、実行プログラムg11,g13,g15には、実行順序が「1」とされ、実行プログラムg12は実行順序が「2」、実行プログラムg14,g16は実行順序が「3」とされている。実行順序が同一であるものは、どの実行プログラムから実行するか否かの判断を行ってもよく、その判断結果により実行すべき場合は実行するようにしたものである。次の実行順序が付されている実行プログラムよりも前に実行するか否かの判断を行い、実行すべきものは実行するようにしたものである(例えば、実行順序1は、実行順次2よりも先に実行する)。このグループ内で、実行順序順に実行プログラムが格納さていない理由は、この実行プログラムを追加変更するとき、実行順序を指定して追加、又は訂正して格納すればよいようにしたもので、実行プログラムの追加変更を容易にしているものである。
【0024】
又、判断部yは、該実行プログラムの実行部zに格納されたプログラムを実行すべき条件等を記憶し、該実行部zのプログラムを実行するか否かの判断を行うものである。
【0025】
1つの作業命令を実行する際、その作業命令が入力されたときのロボットの動作状態によって、実際にこの指令された作業命令を実現する方法が異なる。そこで、この実施形態では、作業命令に対してロボットの動作状態に応じてその作業命令を実現する実行プログラムを複数記憶するものである。しかも、作業命令に対してその作業命令の作業を完了するまでの一連の実行プログラムを記憶するのではなく、作業をある作業単位に分け、この作業単位の組み合わせで各作業命令を実行するようにしている。そのため、作業命令に対して、実行する可能性のある実行プログラムに対して実行順序をあたえている。最初に実行すべき作業に対しては実行順位「1」を与え、ロボット動作状態に応じて、実行順位「1」の全ての実行プログラムに対して、判断部yで実行すべきか否か判断し、実行すべきものを実行し、次に実行順位「2」に対する全ての実行プログラムをそのときのロボット動作状態に応じて、実行すべきか否か判断部で判断し、必要ならば実行する。以下、最後の実行順位まで、これを繰り返し実行することにより、ロボット動作状態に応じて、指令された作業命令を遂行し達成するものである。
【0026】
例えば、作業者がヘッドセット4のマイク42を用いて音声で“サイクルテイシ”の作業命令を与えたとする。これは音声/文字データ変換装置3によって文字データに変換され、通信ポート24を経由してプロセッサ21に伝達される。プロセッサ21はプログラムメモリ23の管理データ23bの中に、文字データと一致するものがあるかどうかを検索し、作業命令M1を検出する。該作業命令M1に対応して記憶されているリンク情報L1により、ロボットプログラム23a内の実行プログラムグループG1を特定し、グループG1内の実行プログラムg11からg16の内、まず、実行順序xが「1」のもの(例えばg11)に対して、その判断部yの処理を実行する。すなわち、判断部yの処理は、システムメモリ22内のロボット状態データ22bにおけるのロボット現在位置や信号状態を参照して、判断部yで実行部zのプログラムを実行すべき条件を満足しているか否か判断する。実行すべきと判断した場合には、実行部zの実行プログラムを実行する。又、実行すべきでない判断した場合には、この実行部zの実行プログラムの処理は実行しない。
【0027】
例えば、図2の例で説明すると、実行順序xが「1」の実行プログラムg11の処理が完了後は、次に同じく実行順序xが「1」である、実行プログラムg13,g15に対して同じ処理(判断部yの実行するか否かの判断と、実行すると判断されたときの実行部zの処理)が実行される。実行プログラムのグループG1に実行順序xが「1」が付された実行プログラムを全て処理した後、実行順序xが「2」の実行プログラムg12が処理される。その後、実行順序xが「3」の実行プログラムg14,g16が処理される。実行順序が最大値に到達した場合に、処理は終了する。
又、実行順序xが「1」である実行プログラムg11,g13,g15のうち、どれか1つを実行すれば、他の実行プログラムは実行しなくてよいことが予めわかっている場合には、実行順序xが「1」の実行プログラムg11の判断部により実行するか否かの判断を行い、実行すると判断した場合には、実行順序xが同じ「1」である、g13,g15の判断部による判断を行うことなく、実行しないと判断し、次に実行順序xが「2」である実行プログラムg12を処理することで、不要な判断を省くことで、処理全体の効率を図ってもよい。
【0028】
以上のようにして、音声指令された作業指令に対して、ロボットの現在位置やI/O信号状態等のロボットシステムの動作状態に応じて、実行すべき実行プログラムを選別し、不必要なもの、実施すべきではないものを、実行せず、必要な実行部zのプログラムのみを実行することにより作業指令を出した作業者の意図どおりに、安全にかつ的確に自動的に実行するものである。
【0029】
本発明の理解を容易にするために、図3に本発明を適用した一具体例を示す。この例は、ロボットによって重量物を搬送する際、“サイクルテイシ”と作業者から作業命令を指示された場合における、ロボット動作について説明する。
ロボットの機構部1は、コンベア10によって搬送されてきたワークWを把持して、パレット12に積み上げる作業を行うものとする。コンベア10の近くには、仮置き台11が用意されている。まずロボットはその機構部1を駆動し、ロボットアーム先端をコンベア10に移動し、ロボットアーム先端に取り付けられたエンドエフェクタ13によりワークWを把持する。ワークWを把持したまま一定距離だけ上昇し、パレット12の上に水平移動する。パレット12の上に到達したら、下降してパレット12上にワークWを積み上げる。このような作業をロボットは繰り返し実行している。
【0030】
このようなロボット動作作業において、“サイクルテイシ”という作業命令をに対して、図4に示すように、5つの実行プログラムがこの例では記憶されている。実行順序1のものは一つだけであり、これはロボットのエンドエフェクタがワークWを把持していない場合であり、この場合にはロボットは直ちに停止してよいことを表している。“サイクルテイシ”の命令があった場合には、最初にこの実行順序が1の実行プログラムの条件部yにより、ロボットがワークを把持しているかどうかの確認が行われて、把持していない場合には、実行部zの処理によりロボットは停止する。
【0031】
実行順序2の動作プログラムは三つあり、それぞれロボットが上昇中の場合、水平移動中の場合、下降中の場合、におけるロボットが行わなければならない作業を指定している。既に実行順序1の動作プログラムにより、ワークWの把持していない場合には、ロボットは停止させられるため、実行順序2の動作プログラムの条件部yが評価される際には、必ずロボットはワークWを把持していることになる。ワークWを把持して上昇中の場合には、ロボットは下降してワークWを仮置台11にワークWを置く。ワークWを把持して水平移動中は、ロボットはそのまま水平移動を継続し、ワークWをパレット12に積む作業を行う。ワークWを把持して下降中の場合は、下降を継続してワークWをパレット12に積む作業を行う。
【0032】
実行順序3の実行プログラムは、ワークWを把持している場合には、ワークWを離してロボットが停止するように指示されている。実行順序2の実行プログラムにより、ロボットは、かならずロボットは仮置き台11もしくはパレット12のどちらかに、ワークWを把持して置いた状態であるので、実行順序3の実行プログラムにより、ワークWを離してロボットは停止する。
【0033】
又、ワークWを把持した状態でロボットが水平移動中の場合でも、例えばロボットの速度が低速の場合には、引き返して、仮置き台11にワークWを戻したいとした場合には、実行順序が2で、ロボットが水平移動中の場合に実行する実行プログラムの動作条件を、ロボットが高速にて水平移動中の場合に変更する。そして新しく、ロボットが低速にて水平移動中である場合には、水平移動を中断して、ワークWを仮置き台に置くという実行順序が2の実行プログラムを新規に作成して、“サイクルテイシ”の作業命令に対する実行プログラムのグループに追加する。
【0034】
これにより、作業命令が作業者から指令に対して、ロボットの状態に応じて、ロボットがどのように振る舞えばよいのかを容易にロボットに教え、動作させることができる。
【0035】
図5、図6は、この実施形態におけるロボット制御装置2のプロセッサ21が所定周期毎本発明に関係して実行する処理のフローチャートである。
【0036】
プロセッサ21は、文字データを受信したか判断し(ステップ100)、受信してなければ、この周期の処理を終了する。又、受信していると、受信文字データと一致する作業命令が管理データ23b内にあるか判断する(ステップ101)。管理データ内に一致する文字データ(作業命令)がない場合には、この周期の処理を終了する。なお、一致する文字データ(作業命令)がないということは、誤った入力であることをも意味することから、誤っていることを示す情報を、音声/文字データ変換装置3(さらには、教示操作盤6、情報処理装置7)に送信し、音声、文字又はランプやブザー等で作業者に知らせるようにしてもよい。
【0037】
管理データ23bに記憶する作業命令中に入力された文字データと一致する作業命令があると、この一致した作業命令を音声/文字データ変換装置3に送信し、その作業命令を拡声装置5で発声させ(ステップ102)、教示操作盤6、情報処理装置7にも送信し、該作業命令を表示器61、71に表示させる(ステップ103)。さらには、図示しない操作パネルの表示画面に表示させる。又、ランプによって、作業命令を受け付けたことを知らせてもよい。この場合、作業命令を受け付けなかったときのランプの発光色とは異なる色で発光させて知らせるようにする。
【0038】
作業者は,拡声装置5から発生されたこの作業命令、又は、表示器61、71に表示された作業命令を確認し、教示操作盤6又は情報処理装置7のキーボード62,72を操作し、誤っていれば、キャンセルキーを押し、正しければ確認キーを押す。プロセッサ21は、キャンセルキーが押されたか、確認キーが押されたか判断し(ステップ104,105)、キャンセルキーがオンならば、この処理を終了し,再度の文字データの入力を待つ。又、確認キーがオンならば、この入力文字データと一致した作業命令に対して記憶されているリンク情報に基づいて、実行プログラムグループを特定する(ステップ106)。
【0039】
この実行プログラムグループ内の各実行プログラムにおいて、それぞれが記憶する実行順序xを指定する指標jを「1」にセットし(ステップ107)、実行プログラム(g11,g12…等)自体を示す指標iを「1」にセットする(ステップ108)。次に、指標iで示される実行プログラムのセットされている実行順序xが指標jと一致するか判断し(ステップ109)、一致しなければ、ステップ113に移行して、指標iを「1」インクリメントし、該指標iに対応する実行プログラムがあるか判断し(ステップ114)、あるならば、再びステップ109に戻り,該指標iの実行プログラムにセットされている実行順序xが指標jと一致するか判断する。
【0040】
以下、指標iの実行プログラムの実行順序xと指標jとが一致するまで、ステップ109、113、114の処理を繰り返し実行する。実行順序xと指標jとが一致すると、システムメモリ22に記憶するロボット状態データを読み出し(ステップ110)、該読み出したロボット状態データに基づいて、指標jと実行順次が一致した当該作業ブログラムの判断部yに記憶されている処理を実行する(ステップ111)。すなわち、当該実行プログラムの実行部zに格納されている処理を実行させる条件を、読み出したロボット状態データが満足するか否か判断する処理を実行する。そして、満足しないものであれば、ステップ113に移行し、満足するものであれば、この指標iで示される実行プログラムの実行部zに記憶されているプログラムを教示操作盤6、情報処理装置7に送信し、表示器61,71に表示させる(ステップ115)。
【0041】
作業員はこの表示された実行プログラムを確認し(ステップ116,117)、実行させるものであれば,教示操作盤6のキーボード62中の確認キー又は情報処理装置7のキーボード72中の確認キーを操作する。プロセッサ21は、この確認キーからの入力があったことを検出すると(ステップ117)、この実行プログラムの実行部zに記憶する処理を実行する(ステップ118)。そして、ステップ113に戻る。又、ステップ115で表示された実行プログラムを見て作業員がキャンセルキーを操作してキャンセル指令を入力すると(ステップ116)、当該実行プログラムを実行することなくステップ113に戻る。
【0042】
以下、ステップ109からステップ118の処理を繰り返し実行し、実行順序xが指標jで示される実行プログラムに対して、そのプログラムを実行すべきか否かをその判断部yの処理で判断し、実行すべきと判断された実行プログラムはその実行部zの処理を実行し、実行すべきではないと判断された実行プログラムは、実行されることはなく、次の実行プログラムに移行する。
【0043】
かくして、指標iがステップ113で更新され、ステップ114で指標iに該当する登録されている実行プログラムがないことが検出されると、指標jで示される実行順序xがなくなったことを意味するから、ステップ114からステップ119に移行し、指標iを「1」にセットすると共に,指標jを「1」インクリメントする。そして、指標jに対応する実行順序xがあるか判断し、あれば、ステップ109以降の処理を実行し、なければ、この処理を終了する。
【0044】
かくして、指標jが「1」の実行順序xから開始され、実行プログラムを指定する指標iを1から順次インクリメントして、この作業クループ内の全ての実行プログラムに対して、実行順序が「1」の実行プログラムを検出し、その実行プログラムを判断部yで実行すべきプログラムと判断されたときには、その実行部zに記憶するプログラムを実行する。そして、指標jを「2」に更新し、実行順序x=2に対して同様な処理を行い、以下、指標jを順次更新しながら、記憶する実行順序が無くなるまで、必要な実行プログラムのみを自動的に実行する。
なお、上述した実施形態では、ステップ118からステップ113に移行したが、ステップ118からステップ119に移行し、実行プロクラムの実行部zを実行すると判断し実行した後、同一の実行順序の実行プログラムは判断部yでの実行するか否かの判断を行うことなく、次の実行順序の実行プログラムを実行するか否かの判断処理に移行するようにしてもよい。
【0045】
上述した実施形態では、ロボットに対する指令を音声によって入力するようにした。これによって、他に何ら操作することなく、ロボットに指令を与えることができるので、熟練者ではなくても、誰でも、簡単に容易にロボットに対して指令を与えることができる。又、音声ではなく、教示操作盤6や情報処理装置7から、この指令を入力するようにしてもよい。例えば、教示操作盤6や情報処理装置7のキーボード62、72から、作業命令のメッセージ(文字データ)を入力することによって指令してもよく、さらには、教示操作盤6や情報処理装置7の表示器61、72にプログラムメモリ23内に記憶されている管理データ23bの作業命令を表示しておき、この表示された作業命令を選択指定することによって、ロボットへの命令を入力するようにしてもよい。こうして入力された後の動作処理は、上述した実施形態と同一である。
【0046】
又、上述した実施形態では、実行プログラムのグループG1,G2,G3,…・に記憶する実行プログラムは、作業命令に対してその作業命令の作業を完了するまでの一連の実行プログラムを記憶するのではなく、作業をある作業単位に分け、この作業単位の組み合わせで各作業命令を実行するようにしている。これは、実行プログラムの重なり等を防止するものである。しかし、作業命令に対して、該作業命令をロボット動作状態に応じて、最後まで実行する一連の作業プログラムを記憶するようにしておいてもよい。この場合には、作業命令に対して、ロボット動作状態に応じて1つの実行プログラムが実行されることになる。
【0047】
【発明の効果】
稼動中、停止状態をも含めてロボットに対して、簡単に指令を与えることができ、かつ、ロボット自体が指令された作業指令に対して、必要な動作処理のみを実行し、指令作業を自動的に実行するから、簡単に安全にかつ容易にロボットに指令を与えることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態の概要図である。
【図2】同実施形態におけるロボットの実行プログラムと管理データの詳細を示すブロック図である。
【図3】本発明を適用した一具体例の説明図である。
【図4】同具体例における作業命令“サイクルテイシ”に対して記憶された作業プログラムグループの例の説明図である。
【図5】同実施形態の動作処理のフローチャートである。
【図6】同フローチャートの続きである。
【符号の説明】
1 ロボット機構部
2 ロボット制御装置
3 音声/文字データ変換装置
4 ヘッドセット
5 拡声装置
6 教示操作盤
7 情報処理装置
10 コンベア
11 仮置き台
12 パレット
41 ヘッドフォン
42 マイク

【特許請求の範囲】
【請求項1】
複数の作業命令と各作業命令に対して、1つ又は複数の実行プログラムとが対応付けされた組合わせを記憶する記憶手段と、
前記記憶手段に記憶された複数の作業命令の中から、入力された作業命令と一致するものを検出する手段と、
検出された作業命令に対応する1つ又は複数の実行プログラムに対して、ロボットの状態に基いて実行するか否かを判断する判断手段と、
実行すると判断された前記実行プログラムを実行する手段と、
を備えることを特徴とする産業用ロボット。
【請求項2】
前記各作業命令に対応する複数の実行プログラムに対して、前記判断手段により判断する順序が予め設定されている請求項1に記載の産業用ロボット。
【請求項3】
複数の作業命令と各作業命令に対して該作業命令を実行し完了するまでに必要の可能性のある複数の所定作業単位の実行プログラムとがその実行順序と共に対応付けて記憶された記憶手段と、
前記記憶手段に記憶された複数の作業命令の中から、入力された作業命令と一致するものを検出する手段と、
検出された作業命令に対応する複数の実行プログラムに対して、その実行順位順にロボットの状態に基いて実行するか否かを判断する判断手段と、
実行すると判断された前記実行プログラムを実行する手段と、
を備えることを特徴とする産業用ロボット。
【請求項4】
前記各作業命令に対応する複数の実行プログラムに対して、前記判断手段により、1つの実行プログラムを実行すると判断した場合には、同一実行順序のほかの実行プログラムは実行しないと判断するようにした請求項2又は請求項3に記載の産業用ロボット。
【請求項5】
音声入力手段を備え、該音声入力手段より作業者の音声による作業命令を入力するようにした請求項1乃至4の内いずれか1項に記載の産業用ロボット。
【請求項6】
前記音声入力手段を前記産業用ロボットの教示操作盤に設けた、請求項5に記載の産業用ロボット。
【請求項7】
作業者の音声を拡声して知らせる手段を備えた請求項5又は請求項6に記載の産業用ロボット。
【請求項8】
前記実行すると判断された実行プログラムの内容を表示する手段と、実行許可を受け付ける手段とを備えることを特徴とする請求項1乃至7の内いずれか1項に記載の産業用ロボット。
【請求項9】
作業命令を受け付けたことを前記産業用ロボットの教示操作盤や操作パネルの画面に、前記受け付けた作業命令を文字として表示することにより知らせることを特徴とする請求項1乃至8の内いずれか1項に記載の産業用ロボット。
【請求項10】
作業命令を受け付けたことを前記産業用ロボットに接続した情報処理装置の画面に、前記受け付けた作業命令を文字として表示することにより知らせることを特徴とする請求項1乃至9の内いずれか1項に記載の産業用ロボット。
【請求項11】
作業命令を受けつけたことを、ランプ、または音声により知らせることを特徴とする請求項1乃至10の内いずれか1項に記載の産業用ロボット。

【図1】
image rotate



【図2】
image rotate



【図3】
image rotate



【図4】
image rotate



【図5】
image rotate



【図6】
image rotate


【公開番号】特開2004−181564(P2004−181564A)
【公開日】平成16年7月2日(2004.7.2)
【国際特許分類】
【出願番号】特願2002−350272(P2002−350272)
【出願日】平成14年12月2日(2002.12.2)
【出願人】(390008235)ファナック株式会社 (1,110)
【Fターム(参考)】