(57)【要約】【課題】ロボット対ロボットおよびロボット対環境の衝突回避の問題を解決すると同時に、従来技術の上述の不利な点を未然に防ぐ。【解決手段】ロボットと、少なくとも１つの他の物体との衝突の回避方法に関する。使用者は、衝突を回避する、例えば共通の作業エリアを画定するためのロボットプログラムに何も準備する必要がない。更に、本発明の方法は、衝突回避の見地から作業セルの自動構成を可能とする。それは、どの部品が他のどの部品と衝突の可能性があるかを判定する。本発明の方法は、機械を安全に停止させるのに十分な時間の周期中に、移動する部品の構成を予測し、それから干渉をチェックするので、軌道の事前の情報は不要である。衝突が予測される場合、機械は、それらの経路上又はそこから離れて停止するように命令される。かくして、本発明の方法は他の方法と共に安全装置として使用できる。【選択図】　　　図１
2004001217.tif 000002
【特許請求の範囲】
【請求項１】
ロボットと少なくとも１つの他の物体との間の衝突を回避する方法であって、該方法が、
各ロボットのジョイントの実際のおよび過去のジョイントの位置並びに速度に基づき、自動的或いは手動で制御されたロボットの動きのための停止時間を定期的に決定する過程と、
前記停止時間で、前記ロボットの軌道の構成を定期的に予測する過程と、
ロボットの部品と前記他の物体の部品との干渉のための間隔／干渉アルゴリズムを介して予測された構成を定期的にチェックする過程と、
衝突が差し迫っている場合、前記ロボットおよび／又は前記他の物体を停止する過程とを備える方法。
【請求項２】
ロボットを経路上に停止させる請求項１記載の方法。
【請求項３】
ロボットを経路から離れて停止させる請求項１記載の方法。
【請求項４】
干渉チェックで、ロボットと他の物体との部品の幾何図形的配列接近間の間隔を判定する過程を含む請求項１から３の１つに記載の方法。
【請求項５】
幾何図形的配列接近を、間隔チェックにおける所望の精度によりチェックされる、異なるレベルの精度を有する請求項４記載の方法。
【請求項６】
ジョイントの軌道を予測する過程が、
【数１】
2004001217.tif 000007
の関係のアプリケーションを含み、
式中、θｉは、ジョイントｉの予測される位置であり、θｉ，０および上ドット付きθｉ，０は、各々現時点ｔでのジョイントｉの位置および速度であり、ｔｉ，ｓは、ジョイントｉの停止時間であり、γｉは、推定された現在のジョイントの加速度である請求項１から５の１つに記載の方法。
【請求項７】
ジョイントｉの速度を、
【数２】
2004001217.tif 000008
を使用して、現時点および初期時間でのジョイントの位置から推定し、
式中、θｉ，−ｋ＝θｉ（ｔ−ｋ），ｔ−ｋ＝ｔ−ｋ・Δｔ、そして
ｃｆ＝１／（１２Δｔ），ｃ０＝２５，ｃ１＝−４８，ｃ２＝３６，ｃ３＝−１６，ｃ４＝３である請求項６記載の方法。
【請求項８】
ジョイントｉの加速度を、
【数３】
2004001217.tif 000009
を使用して、現時点および初期時間でのジョイントの速度から推定する請求項７記載の方法。
【請求項９】
構成予測および干渉チェックを、
【数４】
2004001217.tif 000010
（式中、γｉ，ｍａｘは、ジョイントの最大負加速度）からジョイントｉの停止間隔を決定する過程と、
前記停止時間中に構成を得るために、前記停止間隔を前記ジョイントの実際の位置に加える過程と、
前記構成で、ロボットの部品と前記他の物体との間の間隔を決定する過程とを含む請求項８記載の方法。
【請求項１０】
フィルタを、位置予測に使用する前記ジョイントの位置および速度データに利用する請求項１から９の１つに記載の方法。
【請求項１１】
フィルタを、時間ドメインに利用する請求項１０記載の方法。
【請求項１２】
フィルタが、移動平均である請求項１１記載の方法。
【請求項１３】
構成予測および干渉チェックが、ロボット軸の停止時間を推定するために、少なくとも１つのニューラルネットワークの使用を含む請求項１から１２の１つに記載の方法。
【請求項１４】
１つのニューラルネットワークを、各ロボットのジョイントに使用する請求項１３記載の方法。
【請求項１５】
ニューラルネットワークへの入力が、ジョイントの速度、ジョイントの角度、ジョイントの位置、ロボットベース位置、ロボットベース速度およびツールと負荷との何れかの質量を含む群の１つ又は複数の要素を含む請求項１４記載の方法。
【請求項１６】
衝突に関する全ての必要な情報が、ロボットの動きを制御する責任を果たすリアルタイムオペレーティングシステムへの連絡のための作業セル記述ファイルに格納される請求項１から１５の１つに記載の方法。
【請求項１７】
作業セル記述ファイルが、作業セル内に存在する全ての物体を記述するのに必要とされる幾何図形的配列接近ファイルへのポインタを含む請求項１６記載の方法。
【請求項１８】
作業セル記述ファイルのコピーが、各コントローラ、即ち前記作業セル内に存在する各協働的メカニズムに維持され、更新される請求項１７記載の方法。
【請求項１９】
作業セル記述ファイルを、少なくとも幾何図形的配列変更が前記作業セル内で起こった際、即ち前記ロボットに新しいツールを取付ける際に更新する請求項１８記載の方法。
【請求項２０】
幾何図形的配列変更の記述を含む作業セル記述ファイルを、前記リアルタイムオペレーティングシステムにおいて更新する請求項１９記載の方法。
【請求項２１】
ロボットと物体との間の許容された接触前、例えばハンドリングオペレーションの間に、リンクを設置し、前記ロボットと、適用可能な物体とを、衝突の間に停止させない請求項１から２０の１つに記載の方法。
【請求項２２】
リンクを、許容された接触オペレーションの終了後、破壊する請求項２１記載の方法。
【請求項２３】
ロボットと少なくとも１つの他の物体との衝突を回避するための制御装置であって、
各ロボットの実際のおよび過去のジョイントの位置並びに速度に基づき、自動的に又は手動で制御されたロボットの動きのための停止時間を定期的に決定する手段と、
前記停止時間で、前記ロボットの軌道の構成を定期的に予測する手段と、
ロボット部品と他の物体の部品との干渉のための間隔／干渉アルゴリズムを経て予測された構成を定期的にチェックする手段と、
衝突が差し迫っている際、ロボットおよび／又は他の物体を停止する手段と
を備える装置。
【請求項２４】
同時に２つのオペレーティングシステムを動かすプロセッサ手段を備え、その１つが標準ＰＣオペレーティングシステム、もう１つがロボットの動きを制御するリアルタイムオペレーティングシステムである請求項２３記載の装置。
【請求項２５】
少なくともリアルタイムオペレーティングシステムに関連するプロセッサ手段が、同一の作業セル内に存在する別の対応する制御装置のリアルタイムオペレーティングシステムとの連絡のために設計された請求項２４記載の装置。
【請求項２６】
プロセッサ手段が、ＰＣとリアルタイムオペレーティングシステムとの連絡のために解釈プログラムを実行する請求項２５記載の装置。
【請求項２７】
プロセッサ手段が、衝突回避方法、特に請求項１から２２の１つに記載の方法を実施するプログラムの各部分を実行する請求項２４から２６の１つに記載の装置。
【請求項２８】
作業セル関連幾何図形的配列データを格納する２つのオペレーティングシステムに関連したメモリユニットを備える請求項２４から２７の１つに記載の装置。
【請求項２９】
作業セル関連幾何図形的配列データを入力する入力装置を更に備える請求項２８記載の装置。
【請求項３０】
前記入力装置が、ディスクドライブ又はネットワーク接続装置である請求項２９記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットと少なくとも１つの他の物体との衝突を回避する方法およびこの方法を実施するのに適する制御装置に関する。
【従来の技術】
【０００２】
一般的定義によれば、２つの物体ＡとＢは、それらが同時に同じスペースを共有する場合に衝突する。即ち関連の共通のフレームに関し同じ座標を有するＡで少なくとも１つのポイント、そしてＢで１つのポイントがある。
【０００３】
衝突を回避すべきロボットと他の物体は、それらが、特定の産業上のプロセスで協働する故、一般に、協働的メカニズムと称される。その協働は、能動型（協働的メカニズムの例では１つのロボットが別のロボットと協働する）か、受動型かの何れかである。かなりの速度で移動する最新の産業用ロボットでは、衝突は、ロボットと、それらにより処理される作業ピースとの両方に重大な被害を生じ、費用のかかる製造停止期間につながることになる。そのため、かかる衝突は、産業用ロボットの効率のよい使用には、ぜひとも回避する必要がある。
【０００４】
何種類かの衝突は、作業空間内、即ちロボットと他の（移動可能な）物体とが共有する作業セルで発生する。衝突を分類する際、特に考慮すべき幾つかの要因がある。（ｉ）問題の物体の種類、即ちロボット／機械、定置物体等、（ｉｉ）衝突の理由、即ち経路の変更、感知データの変更、プログラミングエラー等、（ｉｉｉ）生産工程段階、即ち衝突は、教育時間（手動モード）、確認時間（自動モード）又は通常の製造中（適用速度―好ましくは高速で自動モード）に発生する。
【０００５】
受動型定置物体は、作業セルに固定され、一定の形状を持つ物体である。受動型定置物体の例は、固定したテーブルやポールである。明らかに、これら物体は、いかなるコントローラによっても制御されない。しかし静的幾何図形モデルは、衝突をチェック可能なようにし、格納できる。差異は、ロボット本体（リンク）と、負荷（ツール又は作業ピース）との間に作る必要がある。ロボット本体と物体の間に、永久に衝突の可能性がある。ツールと物体との衝突の可能性は、ツールがその物体の何れかのフレームにリンクされない限り存在する。そのリンクが設置されると、手動操作の間、例えば教育段階を除き或いはプログラミングエラーの場合を除いて、ツールと物体との衝突は起こり得ない（ツールはその物体のフレームに対し移動する）。
【０００６】
能動型定置物体は、作業セル内に固定されるが、可変形状の物体である。能動型定置物体の例は、固定具やパレット（高さを変える）である。通常ロボットのコントローラは、この種物体を制御せず、従ってそれらの状態（開／閉、高さ等）についての情報も必要としない。これが、その種物体との衝突のチェックを難しくしている。しかし、衝突の可能性は、その物体を受動型定置物体として考慮することで低減でき、その容量は、能動型定置物体によって占められ得る最大体積である。上述のロボット本体と負荷との差異は、ここにも適用される。
【０００７】
移動物体は、その位置と方向が、作業セル内に固定されない物体である。移動物体の例は、コンベヤ上の箱である。この種物体との衝突をチェックし、回避するには、その位置の判定に際しオンライン情報を必要とする。
【０００８】
経路の変更は、予想可能なこともあれば、突然のこともある。予想された経路の変更は、プロセスに固有であり、既知の限界内での変更である。この変更は、例えばロボットがあるサイクルから別のサイクルに、異なる経路を追従するのを可能とする検知データの結果である。突然の経路変更は、経路が常時同一と仮定した際に発生するか又は予想された変更の限界を越える小さな又は大きな変更である。経路が一定であると仮定した際に発生する変更は、例えば移動の結果である。予想の変更の範囲を越える劇的な変更は、センサの故障や不慣れに伴うエラー、例えば通常の位置エリアを越えて配置されたコンベヤ上の固定されていないパーツにより生じる。
【０００９】
更に、衝突につながる多数のプログラミングエラーがある。これらの衝突は、確認又は通常の生産工程段階で発生する。
【００１０】
衝突は、更に、使用者のエラーや突然の行動のために、ポイントの教育や修正の間に起こる場合がある。要点を教育し或いは修正した後、衝突は、突然の行動やプログラミングエラーのため、確認中に起こる場合がある。教育／修正段階において衝突がない場合でさえ、衝突は、更に初期段階での明示しない経路の変更やプログラミングエラーのため、通常の生産工程中に起こる場合がある。これは幾つかの正常でない状態が同時に合わさったために発生する場合である。
【００１１】
特許文献１は、産業用ロボットの干渉回避に関する方法を開示する。該文献１では、ロボットの操縦機と別の協働的メカニズムは、共通エリアを画定することで互いの干渉を防いでいる。１つのメカニズムは、他のメカニズムがそこを離れる迄、共通のエリアに入ること許されない。しかし衝突を回避するための共通の作業エリアのアプローチは、コントロールソフトウェアが適切に書き込まれていない場合、作用しなくなり、その結果、上述のプログラミングエラーの場合、可能性のある重大な衝突へと導く。
【００１２】
他のアプローチは、衝突のない経路が作業セル内の機械（ロボットと他の協働的メカニズム）のために生成されるオフラインプログラミングに適用される。しかし、この方法はロボット軌道の事前の情報を必要とする。更に、作業セル内の全機械の軌道を繰り返す必要がある。即ちその軌道は、外部センサや補助的手動手段により影響を及ぼされてはならない。
【００１３】
既存のロボットのコントローラは、通常、事後に衝突を検知する。機械の動的モデルを用い、モデルのモータ電流を決定する。実際の電流は、特定の閾値以上のモデル電流を超える場合、衝突が発生すると想定し、そして、そのシステムの被害を最小にすべく運転停止とする。
【００１４】
【特許文献１】
米国特許第６２１２４４４号明細書
【特許文献２】
米国特許第６３５６８０６号明細書
【特許文献３】
独国特許出願公開第１９８５７４３６号明細書
【００１５】
【発明が解決しようとする課題】
本発明は、ロボット対ロボットおよびロボット対環境との衝突回避の問題を解決すると同時に、従来技術の上述の不利な点を未然に防ぐことを目的とする。
【００１６】
【課題が解決するための手段】
このために、本発明は、上述方法を提供する。その方法は、各ロボットのジョイントの実際および過去のジョイント位置並びに速度に基づき、自動的又は手動で制御されるロボットの動きのための停止時間を定期的に決定する過程と、前記停止時間で、ロボットの軌道の構成を定期的に予測する過程と、ロボットの部品と前記他の物体の部品との干渉のための間隔／干渉アルゴリズムを介して予測された構成を定期的にチェックする過程と、衝突が差し迫っている場合、ロボットおよび／又は前記他の物体を停止する過程とを含む。
【００１７】
本発明の範囲において、前記予測された構成は、前記停止時間を使用し、そして、ロボットが、現在の速度と位置から出発し、現在の加速度で移動し続けると想定して判定する。従って、予測される軌道は、一般に、零とは異なるスピードを有する。これに関して、前記構成は、それが、一般に、零とは異なるスピードを有するが、停止構成と称されている。
【００１８】
衝突を防止すべく、現時点だけでなく今後においても、全ての不所望の接触前に機械を安全に停止するため、形状をチェックする。
【００１９】
本方法の別の形態によれば、ロボットを、経路上に停止させる。従って、ロボット作業は、一切の位置訂正や作業ピース取外しなしで、停止位置から直接再開できる。更に、それらの経路上に機械を停止すると、当該機械の停止のための減速中に衝突が生じるのを回避できる。
【００２０】
本発明の別の実施形態では、ロボットを経路から離れて停止させる。これは、各軸を、構成可能なプロフィルに追従して、その実際のスピードから零に減速させることを意味する。これは短絡制動により達成でき、モータは機械ブレーキと発電制動により減速される。そのような制動法は、傾斜路があまりにも急勾配であり又は他の理由で、モータを経路上に停止させられない場合に適する。
【００２１】
衝突を予測ないしチェックするには、ロボットと他の物体との部品間の間隔が判定可能である必要がある。これは箱、球形等の簡単な形状や、複雑な多面体、即ち多面の近接した幾何学的配列形状かの何れかであり、関連する存在物の幾何図形的配列接近間の間隔を判定することを含む。凸面状の多面体間の間隔を判定すべく最も広範に使用される方法は、Ｇｉｌｂｅｒｔ‐Ｊｏｈｎｓｏｎ‐Ｋｅｅｒｔｈｉ（ＧＪＫ）法であり、それは、幾何学図形的配列が２つの物体間の最小間隔に収束する迄、その幾何図形的配列を単体に更に分ける反復法である。本発明で使用する衝突検知アルゴリズムの接近と性能（実行時間）との間にトレードオフがある。例えば円筒や、箱又は球を取り囲むことでロボットのリンク全てに接近することはむしろ伝統的であるが、衝突検知アルゴリズムの迅速な実行を可能とする。これに反し、より精密にリンク形状に接近する多面体によりリンクに接近することは、衝突検知アルゴリズムの性能の低減を引き起こす。その結果、本発明の好ましい実施形態では、幾何図形的配列干渉チェックは、間隔チェックにおける所望の精度によりチェックし、異なるレベルの精度を持つ幾何図形的配列接近間の間隔を判定する過程を含む。例えば取り囲む形状が互いにはるかに遠い場合、一層精密な接近をチェックする必要はない。
【００２２】
幾何図形的配列接近は、興味深い、時間のかかる作業である。しかし、衝突検知アルゴリズムと共に使用可能なＣＡＤモデルを幾何図形的配列ファイルに自動的に書き換える、既に市販中のソフトウェアがある。
【００２３】
衝突回避は、軌道の精密な明確化を含む。産業用ロボットの動きプロフィルは十分に円滑故、比較的簡単な構成予測アルゴリズムを軌道の予測に使用できる。現時点および今後の各ジョイントｉの実際の位置と実際の速度から、以下の如く今後の各ジョイントの位置θｉの式によってジョイントの軌道を予測できる。
【数５】
2004001217.tif 000003
式中θｉ，０および上ドット付きθｉ，０は各々現時点ｔでのジョイントの位置と速度であり、γｉはｔでの推定されたジョイントの加速度、ｔｉ，ｓは停止時間である。ジョイントの加速度は、時間ｔおよび初期時間ｔ−ｋでのジョイントの速度から推定可能であり、ｔ−ｋ＝ｔ−ｋ・Δｔ（ｋ＝１，２，３・・・）であり、式中Δｔはチェック時間間隔であり、それはロボットのコントローラのサンプリング周期に等しくてよく、そして約１２ｍｓの値をとることが可能である。ジョイントの位置θおよびジョイントの速度上ドット付きθは、それぞれに、角位置（°）および角速度（°／秒）として示される。
【００２４】
本発明の好ましい実施形態によれば、ジョイントｉの速度上ドット付きθｉは、Ｇｅａｒの方法、即ち、
【数６】
2004001217.tif 000004
を用い、現時点ｔと初期時間ｔ−ｋでのジョイントの位置θｉ，０から推定され、
式中、θｉ，−ｋ＝θｉ（ｔ−ｋ）、そして、
ｃｆ＝１／（１２Δｔ），ｃ０＝２５，ｃ１＝−４８，ｃ２＝３６，ｃ３＝−１６，ｃ４＝３である。
【００２５】
同様に、ジョイントｉの加速度γｉは、
【数７】
2004001217.tif 000005
を使用して、現時点ｔおよび初期時間ｔ−ｋでのジョイントの速度上ドット付きθｉから推定され、ｔ−ｋ＝ｔ−ｋ・Δｔである。
【００２６】
調査を、典型的なロボットアプリケーションのための最大２４０ｍｓの予測時間に十分であると見出された予測の精度を試験するために行った。
【００２７】
本発明の別の実施形態によれば、構成予測および干渉チェックは、
【数８】
2004001217.tif 000006
からジョイントｉの停止間隔を決定する過程（式中、γｉ，ｍａｘは、ジョイントの最大負加速度）と、停止時間中に構成を得るために、停止間隔θｉ，ｓｔｏｐを実際の位置に加える過程と、前記構成で、ロボットの部品と前記他の物体との間の間隔を判定する過程とを含む。これは、むしろ伝統的なアプローチである。例えばロボットの第１ジョイントの最大速度および最大加速度は、各々２４０°／秒および−８８０°／秒２である。その結果、全速力からのジョイントの停止角度は約３３°である。従って、大きい停止間隔のため、衝突は、たとえ計画した軌道が実際に衝突がなくても、停止構成で予測することが可能である。
【００２８】
位置予測の精度を高めるため、本発明方法の更なる形態では、フィルタを位置予測に使用するジョイントの位置および速度データに利用する。フィルタは、時間ドメインにおけるデータに利用すると好ましい。本発明の好ましい実施形態では、フィルタを、データを効率よく平滑化し、そして、次にロボットの動き（急激な動き）の突然な方向変更の間に特に存在する高周波成分を優勢的にフィルタする移動平均として考えている。フィルタの長さは、動きプロフィルの所望の予測精度又は不規則性に適応させることができる。代替的に、フィルタリングは、周波数ドメインにおいて行うことも可能である。
【００２９】
ロボット軸の停止時間は、下記のパラメータに依存する。
−軸速度。スピードが速ければ速い程、ロボット停止に要する時間は増大する。
−最大許容減速度。最大許容減速度が速ければ速い程、ロボット停止に要する時間は短くなる。
−ロボットの構成。ロボットの慣性は、構成に依存するので、所定の軸の停止時間は、残りの軸、特に運動学的な鎖を下る軸、即ちロボットの遠位端部に向って軸の値に左右される。
−ペイロード。負荷が重ければ重い程、そして慣性が高ければ高い程、多くの時間が、ロボットを停止するのに必要とされる。
【００３０】
停止時間は、ルックアップテーブルから推定できる。しかし、軸の停止時間がパラメータ数に依存すると仮定すれば、本発明は、リアルタイムアプリケーションに適するよう、軸の停止時間を推定すべく考案したメカニズムを提供する。
【００３１】
従って、停止時間推定の精度と速度を両立すべく、かつこの推定を一層柔軟にし、そして、特定の状態に一層適応させるため、本発明の更なる形態では、構成予測と干渉チェックを、ロボットの軸の停止時間を推定するために、少なくとも１つのニューラルネットワークを用いることを含む。好ましい実施形態では、１つのニューラルネットワークを、各ロボットのジョイントに用いる。
【００３２】
この範囲で、本発明による方法は、多層、バック伝搬ニューラルネットワーク（ＮＮ）を使用している。ＮＮは、軸の停止時間に影響を及ぼし、そして、軸の停止時間の推定を示すパラメータを入力とみなす。ＮＮは、ロボットで測定したデータで訓練される。訓練するデータセットは、ジョイント速度、ジョイント角度、ジョイント位置、ロボットベース位置、ロボットベース速度およびツールおよび負荷質量を備える群からの１つ又は複数の要素を含むパラメータの作業スペース全体を網羅すべきである。ＮＮを訓練すると、それらは、精密に停止時間を推測するのに使用可能となる。
【００３３】
特許文献２と３は、ロボットの制御のために、標準ＰＣオペレーティングシステムとリアルタイムオペレーティングシステムとの組合せを開示する。ロボットおよび作業ピースの幾何図形的配列は、外部ＣＡＤ又はオフラインシミュレーションシステムで接近され、そして、結果として生ずる出力ファイルは、ロボットのコントローラの標準ＰＣオペレーティングシステムに関連して格納される。ロボットのコントロールユニットのデュアルタイプを有する本発明による方法を使用するとき、リアルタイムオペレーティングシステムの下に実行する作業にアクセス可能なＰＣオペレーティングシステムと関連して通常作成され、維持される幾何図形的配列ファイルを作るため、衝突に関する全ての必要な情報は、ロボットの動きを制御する責任を果たすリアルタイムオペレーティングシステムへの連絡のための作業セル記述ファイルに格納することが好ましい。
【００３４】
本発明の方法の更なる形態において、作業セル記述ファイルは、作業セル内に存在する全ての物体を記述するのに必要な幾何図形的配列接近ファイルへのポインタを含有する。
【００３５】
本発明方法の別の実施形態では、作業セル記述ファイルのコピーは、各コントローラ、即ち作業セル内に存在する各協働的メカニズムに維持されて、更新される。更に、作業セル記述ファイルは、少なくとも幾何図形的配列変更が作業セル内で起きた際、例えばロボットに新しいツールを取付ける際に、更新できる。これは、更にリアルタイムオペレーティングシステムで起こる場合がある。
【００３６】
大部分のロボットのアプリケーションは、例えば材料の取扱いや溶接等の、許容され、制御された何らかの形態の接触を必要とする。そのため、コントローラは、これら接触を、ロボットの動きを停止させる危険な衝突として処理すべきでないことを知る必要がある。このため、ロボットと物体との許容された接触前、例えばハンドリングオペレーションの間に、リンクを設置し、ロボットと、適用可能な物体とを結果として起こる「衝突」の間に停止させない。このリンクは、許容された接触オペレーションが終了した後で破壊する。
【００３７】
これに関連し、作業セル内に存在する全機械が周知の予め画定した軌道に沿って移動する状態と、例えば検知情報（カメラ等）に基づき、その機械の軌道がリアルタイムで明示されている状態との間を識別することが重要である。ここでは、前者は、同期状態と称されるのに対し、後者は、非同期状態と称される。そのような状態は、更に、例えばロボットとそれが使用するツールとの間の関係においても存在する。作業セルの部品は、前者が後者に固定されているフレーム内で移動する場合、別の部品にリンクされる。この際、２つの部品間の相対的な動きは同期であり、そして、そのリンクが設置されている間２つの部品間に衝突が起こる可能性はない。即ち１つの部品、例えば第１のロボットの動きは、別の部品、例えば第２のロボットの対応する動きを引き起こす。従って２つの間の関係は、一定に保たれている。衝突の可能性は、そのリンクが設置される前、又はそのリンクが破壊された後に生じ得る。作業ピースと接触するツールは、該ピースにリンクされている。その結果、それは、次に作業ピースに固定されたフレームに対し移動する。そのオペレーションは、かくして同期であり、そしてツールと作業ピースとの間に衝突の可能性がない。非同期のケースは、産業用ロボットの工場での使用の場合、最大で９０％に相当することがある。
【００３８】
ロボットと少なくとも１つの他の物体との間の衝突を回避すべく、ロボットに上述の方法を使用するために、本発明は、更に各ロボットのジョイントの、実際および過去のジョイントの位置並びに速度に基づき、自動的に、又は手動で制御されたロボットの動きのための停止時間を定期的に決定する手段と、前記停止時間で、ロボットの軌道の構成を定期的に予測する手段と、ロボットの部品と前記他の物体の部品との干渉のための間隔／干渉アルゴリズムを介して予測された構成を定期的にチェックする手段と、衝突が差し迫っている場合、ロボットおよび／又は前記他の物体を停止する手段とを備える制御装置を提供する。
【００３９】
本発明のコントロールユニットは、Ｃｏｌｌｉｓｉｏｎ　　Ａｖｏｉｄａｎｃｅ　Ｍａｎａｇｅｒ（衝突回避マネージャ）（ＣＡＭ）と称される。そのＣＡＭは、作業セルの少なくとも２つの部品間の衝突を検知し、反応する責任を果たすコントローラである。作業セル内に複数のＣＡＭを設けてもよい。
【００４０】
別の実施形態では、本発明の制御装置は、同時に２つのオペレーティングシステムを実行するプロセッサ手段を備え、その１つは標準ＰＣオペレーティングシステム、もう１つはロボットの動きを制御するリアルタイムオペレーティングシステムである。前記プロセッサ手段は、ＰＣオペレーティングシステムとリアルタイムオペレーティングシステム間の連絡のため解釈プログラムを実行する。こうして、使用者に、ロボットプログラミングを極めて簡素化する標準使用者インターフェイスを提供する。好ましい実施形態では、前記プロセッサ手段は、衝突回避方法を実施するプログラムの各部分を実行すべく考案している。更なる改良案では、本発明によるコントロー装置は、作業セル関連幾何図形的配列データを格納する２つのオペレーティングシステムと関連のメモリユニットを備える。
【００４１】
既述のように、衝突（例えば可能性のある衝突、幾何図形的配列ファイルへのポインタ等）についての全情報は、Ｗｏｒｋ　ｃｅｌｌ　Ｄｉａｇｒａｍｓ（作業セルダイアグラム・ＷＣＤ）と称される特定の作業セル記述ファイルにおけるＣＡＭのメモリユニット内に格納されている。そのセルの各部品について、可能性のある衝突と幾何図形的配列ファイルに関する情報は、次いでメモリユニットに格納される。この情報は、リアルタイムコントロールに読み込まれ、そのため、上記のＣｏｌｌｉｓｉｏｎ　Ａｖｏｉｄａｎｃｅ　Ｔａｓｋｓ（衝突回避作業）（ＣＡＴ）、即ち本発明の方法に関連するロボットの動きと経路上での停止、又は経路から離れての停止の実際の予測は、リアルタイムにそれをアクセスすることができる。
【００４２】
２つのオペレーティングシステム間に衝突情報を連絡するため、本発明によるコントローユニットは、ＰＣオペレーティングシステムの下に実行することが好ましい解釈プログラム、又はインタープリタを備える。
【００４３】
作業セルが複数の衝突モニタロボット等に関連する幾つかのＣＡＭを含むことが可能な場合、本発明による制御装置の更なる開発は、リアルタイムオペレーティングシステムと、同じ作業セル内に存在する他の対応する制御装置との連絡のために考案された少なくともリアルタイムオペレーティングシステムに関連するプロセッサ手段を備える。そのように画定されたコントローラ間の連絡作業は、適切なロボットのコントローラ（特定のＣＡＭが衝突を検知するコントローラ）からデータを受ける。
【００４４】
コントローラ間の連絡は、ロボット間での多数の態様の協働に必要である。これに関し、異なるデータを、作業のため、衝突回避の目的でＣＡＭに連絡する必要がある。ＣＡＭは、作業セル内の部品の構成を知る必要がある。その結果、ＣＡＭがモニタする全ロボットや物体のため、下記の事項を連絡する必要がある。−ジョイントの数。これらは、そのベースに対するロボットの構成を画定する。
−ベースの座標。これは、ジョイントの数値に関連し、作業セル内のロボットの構成を画定する。そのベースは、ロボットが、例えばレールに搭載される場合に移動することがあることに留意する。
−ジョイントの速度とベースの速度。これらは、衝突予測アルゴリズムに使用される。ベースのフレーム速度は、コントローラから容易に入手できず、かつロボットのベースを移動する外部機械からもたらされるデータを使用して得られるか、推定されるかの何れかである、
−パーツの変更、
−ツールの変更、
−ターゲットの変更、そして
−可能性のある衝突の変更。
【００４５】
ＣＡＭによって制御されるロボットのツールの変更およびパーツの変更は、インタープリタを介してコントローラのリアルタイム部分に連絡される。
【００４６】
本発明の別の実施形態によれば、コントロールユニットは、更に作業セル関連幾何図形的配列データを入力する入力装置を備える。このように、外部で作成されたＣＡＤの幾何図形的配列ファイルは、容易にＣＡＭに供給可能である。入力装置は、例えばディスクドライブやネットワーク接続装置である。
【００４７】
上述の内容から、本発明が従来の作業を越える幾つかの利点を有することは明らかである。
【００４８】
使用者は、共通の作業エリアをプログラミングする等の衝突を回避するためのロボットのプログラムに対し、何らの準備も不要である。更に本発明の方法は、従来技術の他の方法と関連する安全装置として使用することが可能である。
【００４９】
更に本発明の方法は、衝突回避の見地から作業セルの自動構成を可能とする。それは、どの部品が他のどの部品と衝突する危険があるかを自動的に判定する。
【００５０】
本発明の方法は、機械を安全に停止させるのに十分な長い時間の周期中に、移動する部品の構成を予測することに基づき、そしてそれから干渉をチェックするので、軌道の事前の情報は不要である。衝突が予測される場合、機械は、それらの経路上に又はそれから離れて停止するように命令される。
【００５１】
特に教育段階と確認段階は、本質的に低速なので、停止時間と間隔は極めて短い。従って、本発明の方法は、これらの場合、特に効果的に作動する。
【００５２】
プログラミングエラー又は突然の大幅な経路の変更に伴い発生する衝突は、通常の状態の下で、常に、互いにはるか遠くにある物体間の接触へと導く。この場合、計画した構成又は停止構成を予測することは、実際にはあまりにも精巧であり、不要とされることがある。従って、各物体間の間隔をモニタし、それらが特定の予め定められた間隔内に互いに接近した際、停止するようにそれらに命令することで十分である。この簡素化した方法は、間隔閾値を十分大きく選択することが可能なら、動きの全段階および全スピードで作動する。そうでない場合、上記の一層精密な方法を採用する必要がある。
【００５３】
本発明の好ましい実施形態を、以下に図面を参照して説明する。
【００５４】
【発明の実施の形態】
図１は、公知のロボットコントローラ（図示せず）で制御されるロボットの動きＭを示す。この動きＭは、衝突回避方法１．０と呼ぶ本発明方法で衝突回避のためモニタされる。セットアップ／初期化の段階１．１中に、ロボット、ツール及び定置物体、即ち作業セル内に固定された物体間での可能性のある衝突が判定される。作動限界、即ちロボットがアクセス可能な作業スペースの限界表面は、他のロボットおよび／又は定置物体との可能性のある衝突があるか否かを判定すべく使用される。その後、本発明の方法１．０による衝突コントロールＣは、ロボットの動きＭの間、時間間隔Δｔで分割された時間ｔで定期的に行われる。
【００５５】
例えばロボットのジョイント角度と速度、カメライメージ等のロボットおよび／又は作業セルからの検知データＳは、衝突回避方法１．０に供給され、例えば図６に示すニューラルネットワークにより、停止時間の持続期間ｔｓ１．２の推定のためのペイロード又はロボット構成等の他のパラメータと共に使用される。
【００５６】
推定した時間ｔｓから、アルゴリズムは、停止時間中にロボットのための軌道を予測し（１．３）、それは、次に、作業セル内の物体、又は部品間の間隔をチェックすることを伴う干渉チェック（１．４）に使用される。将来の衝突が予知されると、ロボットは停止される（１．５ａ）。これは、例えば簡単な機械制動によって、ロボットの経路上又はロボットの経路から離れた個所で行われる。衝突がない場合（１．５ｂ）、新しい衝突コントロールサイクルＣ’が始まる。
【００５７】
図１を参照して説明した衝突回避方法は、以下に述べる作業セル２．１内の他の部品についての情報を有する衝突回避マネージャ（ＣＡＭ）２．０、２．０’と呼ばれる図２のコントロールシステムによっても実施される。
【００５８】
図２の作業セル内に、幾つかのロボット又は協働的メカニズムがあり、その公知の（電源装置および動き）コントローラ２．２、２．２’を示す。ＣＡＭ２．２、２．０’は、マイクロプロセッサの形状をとる１つ又は複数のプロセッサ手段ＰＭ１、ＰＭ２の何れかに、各々Ｍｉｃｒｏｓｏｆｔ　Ｗｉｎｄｏｗｓ（登録商標）等の標準ＰＣオペレーティングシステムと、例えばＶｘＷｏｒｋｓ（商標）等のリアルタイムオペレーティングシステムとの実行で画定されるＰＣ部分ＰＣとリアルタイム部分ＲＴを備える。本明細書に示す実施形態では、同様のものを、ロボットのコントローラ２．２、２．２’に適用している。
【００５９】
ＣＡＭ２．０、２．０’のＰＣ部分ＰＣは、時間独立型幾何図形的配列ファイル２．３と、プログラムされたロボットの動きの間の作業セル２．１内の衝突についての全情報を含むＷｏｒｋ　ｃｅｌｌ　Ｄｉａｇｒａｍ（作業セルダイアグラム）（ＷＣＤ）２．４と、ロボットの動きを体系化する特定のプログラム２．５を実行および／又は格納するプロセッサ手段ＰＭ１と記憶手段ＳＭ（例示的に示す）を持つ。ＣＡＭ２．０、２．０’のリアルタイム部分ＲＴは、ＣＡＭ２．０、２．０’により制御されるメカニズムの動的パーツ／ツールの変化２．７をＲＴに連絡するインタープリタ２．６を実行および／又は格納するプロセッサ手段ＰＭ２と記憶手段ＳＭ（例示的に示す）を備える。ＲＴは、更に、衝突回避作業（ＣＡＭ）２．９により使用される幾何図形的配列データ２．８を持つ。ＣＡＴ２．９は、１つのＣＡＭ２．０のＲＴを異なるＣＡＭ２．０’とロボットコントローラ２．２、２．２’のＲＴにリンクするコントローラ間連絡作業２．１０から入力を受ける。図示の実施形態では、ＣＡＭ２．０のＰＣとＲＴは記憶手段ＳＭを共有する。
【００６０】
作業セル２．１を記述する幾何図形的配列ファイル２．１１は、ＣＡＤ又はオフラインシミュレーションで、作業セル２．１自体内又は作業セルの外側の何れかで作成される。幾何図形的配列ファイル２．１１のＣＡＭ２．０、２．０’のＰＣへのデータ入力２．１２は、ネットワークリンク又はディスクドライブ（後者の場合、取外し可能なデータメディアによる。図示せず。）により生じる。
【００６１】
ロボットコントローラ２．２、２．２’は、従来のコントローラと同一構成であり、詳細な説明は省略する。２つのオペレーティングシステムを備えるロボットコントローラ２．２、２．２’の詳細は、特許文献２・３を参照されたい。
【００６２】
供給された幾何図形的配列ファイル２．３から生ずる全衝突情報は、ＷＣＤ２．４に格納されている。これに関し、Ｃｏｎｄｉｔｉｏｎａｌ　Ｐｏｔｅｎｔｉａｌ　Ｃｏｌｌｉｓｉｏｎｓ（条件付で可能性のある衝突）（ＣＰＣ）とＵｎ−Ｃｏｎｄｉｔｉｏｎａｌ　Ｐｏｔｅｎｔｉａｌ　Ｃｏｌｌｉｓｉｏｎｓ（無条件の可能性のある衝突）（Ｕ−ＣＰＣ）の２種の可能性のある衝突がある。ＣＰＣは、可能性のある衝突が、特定の状況下においてのみ、作業セル２．１内の２つの部品間に存在する場合を表わす。例えばパーツＸは、パーツＸがツールＺを用いて、第１のロボットにより処理される場合、そしてツールＹが第２のロボットに取付けられる場合のみ、ツールＹと衝突する可能性がある。他の全状況で、パーツＸとツールＹは、衝突の可能性がないよう互いにはるか遠くにある。Ｕ−ＣＰＣは、衝突の可能性が常時部品間に存在する場合を示す。例えば作業容量、即ち２つのロボットのアクセス可能なエリアが、いつでも互いに重畳する場合、ロボットの各々の幾つかのリンク間にＵ−ＣＰＣがある場合がある。ＷＣＤ２．４における特定の幾何図形的配列ファイル特性は、存在物、即ち作業セル２．１の内容と共に使用される幾何図形的配列接近ファイルに向いている。ＷＣＤ２．４のローカルサブセットは、各ＣＡＭ２．０、２．０’に維持され、かつ更新されることに留意されたい。その結果、全てのＣＡＭ２．０、２．０’は、作業セル２．１内の可能性のある全状態を知っている。例えば作業セルの幾何図形的配列における変更、例えばツールの変更がある際、ＷＣＤ２．４に関連して使用される特定のプログラムエディタ（図示せず）は、インタープリタ２．６にＲＴの動的ツール／パーツ情報２．７（幾何図形的配列ファイル２．３の時間依存部分を含む）を更新させるプログラム２．５に対応するコマンドを挿入し、それは、次に危険なら、実際にロボットの動きを予測し、１つ又は複数の機械を停止する責任を果たすＣＡＴ２．９によりリアルタイムでアクセス可能である。
【００６３】
ＣＡＭ２．０、２．０’のＲＴに含まれる動的ツール／パーツ情報２．７は、実際にはＲＴにも含まれ、そして効果的な衝突回避のためにリアルタイムでＣＡＴ２．９によりアクセス可能な幾何図形的配列データ２．８へのポインタを備える。ＣＡＴ２．９の実行は、更に作業セル２．１内に存在する他のＣＡＭ２．０’および／又はロボットのコントローラ２．２、２．２’のＲＴにリンクを提給するコントローラ間連絡作業２．１０の出力による影響を受ける。これは、ＣＡＭ２．０のＲＴ内部の幾何図形的配列データ２．８および／又は動的パーツ／ツール情報２．７に、直接の連絡か変更の何れかで起こる。
【００６４】
図３は、ロボット３．０（図３ａ）のリンクに接近する別の方法を概略的に示す。図３ｂ（ａ）では、ダンベル形状のロボットのリンク３．１に取り囲む箱又は円筒３．２が接近し、図３ｂ（ｂ）では、球３．３がダンベル形状のロボットリンク３．１に接近する状態を示す。かかる接近３．２、３．３は、使用するスペースの最適化が関係する限り、むしろ伝統的であるが、それらの幾何図形的配列の簡素化により衝突検知アルゴリズムの迅速な実行時間を可能とする。一層複雑な多面体３．４、例えば多面の近接した幾何図形的配列形状によるリンクの接近は、より高い接近精度へと導くが、実行のスピードが関係する限り、衝突検知アルゴリズムの性能の減少を必然的に伴う（図３ｂ（ｃ））。その結果、本発明の方法は、異なるレベルの精度での階層型接近３．２−３．４を使用するとよい。作業セル２．１内のロボット３．０のリンク３．１が取り囲む形状３．２−３．４は、互いにはるか遠くにある場合、ＣＡＴ２．９が、一層精密な接近３．４をチェックする必要がなく、それは、近接接近をチェックするだけである。
【００６５】
ロボットリンク３．１の幾何図形的配列接近３．２−３．４は、幾何図形的配列ファイル２．３と、ＣＡＭ２．０、２．０’の記憶手段ＳＭ内部の幾何図形的配列データ２．８とに格納され、従って、実際の衝突回避アルゴリズムを実行するＣＡＴ２．９によりリアルタイムにアクセスできる。
【００６６】
干渉チェックは、Ｇｉｌｂｅｒｔ‐Ｊｏｈｎｓｏｎ‐Ｋｅｅｒｔｈｉ法等の確立した技術で行われ、その方法は、２つの物体間の最小間隔に収束する迄、形状を単体に更に分けるインタラクティブ方法であるがここでは説明しない。
【００６７】
図４において、物体４．０、例えばロボットのリンクは、水平表面４．１に平行であるが、鉛直壁４．２の方に向って移動する。別の物体４．０’との衝突が予測される際、経路Ｐ上に停止することで、物体４．０、４．０’の衝突を回避する。しかし、その経路Ｐから離れて停止すると、衝突は回避するが、水平表面４．１との衝突を起すことがある。表面４．１との衝突を予測することは、望ましくない間違い警報を発することに留意されたい。その結果、本発明の方法は、その経路上のロボットの動きを予測して停止させるのに適する。
【００６８】
本発明による衝突回避方法を試験すべく、共通の作業セル２．１内で、図３ｂに示す２つの同じロボット３．０の動きの数値シミュレーションを行った。ロボット３．０の各リンク３．１は、一続きの球形３．３としてモデル化した。各ロボット３．０の経路Ｐ、Ｐ’は、立方のスプラインで補間した一連のジョイントの角度で明記している。停止時間ｔｓは、１００ｍｓと想定した。
【００６９】
その結果を図５に示す。第１の例では、２つのロボットの経路が、衝突へと向かっている。時間ｔの関数としてロボット間の間隔を図５ａに示す。図５ｂは、衝突回避マネージャを設けた際のロボット間の間隔ｄを示す。ロボットの相対的動きは、衝突前にＣＡＭにより停止された（ｔの全ての値に対してｄ＞０）。別のシミュレーションでは、ロボットは、衝突をすることなく、互いに０．５ｍｍ程に接近するようにそれらを導く経路を追従した。ここでの目的は「間違い警報」があるか否かを試験するものである。図５ｃは、２つのロボットが近づき、次いで、互いに離れる状況を示す。衝突検知情報が生ずると、衝突はその経路において発生せず、その結果、実際問題として、機械を停止する必要がない。ロボットが図５ｃに関して記述のような一触即発のシナリオの代わりに、０．５ｍｍの一定の間隔を維持する場合、シミュレーションの結果は同一である。即ち、衝突は予測されず、そして機械は、停止するように命じられない。
【００７０】
図５を参照して述べるシミュレーションで、停止時間は特定の一定値を有すると仮定した。別法として、停止時間を、予め格納されたルックアップテーブルから知り得る。しかし、リアルタイムアプリケーションに適するように軸の停止時間を推定すべく、本発明は、モニタするロボットの各ジョイントのため、ニューラルネットワークＮＮの使用を提案する。典型的な産業用ロボットの軸の停止時間の推定のための典型的なニューラルネットワークを図６に示す。
【００７１】
ニューラルネットワークＮＮは、複数の基本プロセッサ６．０が情報の並列処理のために接続され、そして、次にネットワークを形成するコンピューティングアーキテクチャである。ニューラルネットワークの構造は、人間の頭脳の構造に由来している。
【００７２】
ニューラルネットワークは、特に人間の行動、例えばパターン検知に似た作業に特に使用されている。それらは、それ自体周知故、ここでは詳細に述べない。
【００７３】
産業用ロボットの異なる軸のためのニューラルネットワークＮＮは、基本プロセッサ６．０の多層Ｌ１、Ｌ２、Ｌ３又はシグナル経路６．１により層間に接続されるノードからなる。層Ｌ１、Ｌ２、Ｌ３は、各々入力層、中間層、出力層と称される。入力層Ｌ１のノード６．０は、軸の停止時間が左右するパラメータ、例えば軸のスピードθとペイロード質量ｍを入力とみなす。この情報は、ネットワークＮＮを経て伝搬し、出力層Ｌ３で軸の停止時間ｔｓを推定し、本発明による衝突検知に使用される。
【図面の簡単な説明】
【図１】本発明による衝突回避方法のフローチャート。
【図２】本発明を実行するロボットのコントロールシステムのブロック図。
【図３】ａとｂはロボットとその部品又はリンクの異なる幾何図形的配列の接近を示す略図。
【図４】障害に近づくロボットの動きを示す略図。
【図５】ａ〜ｃは２つのロボットで、衝突するロボットの動きの数値シミュレーションからの結果を示す図。
【図６】衝突回避方法で使用する３層のニューラルネットワークの略図。
【符号の説明】
１．０　衝突回避方法、１．１　セットアップ、１．２　停止時間推定、１．３構成予測、１．４　衝突／干渉チェック、１．５ａ　ロボット停止、１．５ｂ動きの継続、２．０、２．０’　衝突回避マネージャ、２．１　作業セル、２．２、２．２’　ロボットコントローラ、２．３　幾何図形的配列ファイル、２．４　作業セル記述ファイル／ダイアグラム、２．５　プログラム、２．６　インタープリタ、２．７　動的ツール／パーツの変更、２．８　幾何図形的配列データ、２．９　衝突回避作業、２．１０　コントロール間の連絡作業、２．１１幾何図形的配列ファイル作成、２．１２　データ入力、３．０　ロボット、３．１　ロボットのリンク／部品、３．２　リンクの接近（箱、円筒）、３．３　リンクの接近（球）、３．４　リンクの接近（多面体）、４．０、４．０’　物体、４．１　水平表面、４．２　鉛直壁、６．０　ノード、６．１　シグナルの経路、Ｃ、Ｃ’　衝突のコントロールサイクル、ｄ　間隔、Ｌ１　入力層、Ｌ２中間層、Ｌ３　出力層、Ｍ　ロボットの動き、ｍ　ペイロード質量、ＮＮ　ニューラルネットワーク、Ｐ、Ｐ’　経路、ＰＣ　標準ＰＣ部分、ＰＭ１、ＰＭ２プロセッサ手段、ＲＴ　リアルタイム部分、Ｓ　センサデータ、ＳＭ　記憶手段
【図１】
2004001217.tif 000011
【図２】
2004001217.tif 000012
【図３】
2004001217.tif 000013
【図４】
2004001217.tif 000014
【図５】
2004001217.tif 000015
【図６】
2004001217.tif 000016