(57)【要約】本発明の分野は、概して、ロボット安全性に関し、特に、産業および他の環境内で安全なロボット動作を確実にするためにロボット動作を特徴付けるためのシステムおよび方法に関する。本発明の実施形態は、自動化ロボットシステム識別および停止時間および距離推定を提供し、ロボットシステム識別の既存のアドホック方法を有意に改良する。本書によるシステムおよび方法は、用途毎にロボットの動的パラメータを推定するために、エンドユーザ、システムインテグレータ、およびロボット製造業者によって使用されることができる。
2021534010.tif 000002
【特許請求の範囲】
【請求項１】
ロボットシステムに関するシステム識別を発生させるためのシステムであって、前記システムは、
ａ．プロセッサと、
ｂ．（ｉ）ロボット運動学および動的モデルのデータベースと、（ｉｉ）命令とを含むメモリと
を備え、
前記命令は、
１）前記ロボットシステムの識別、ワークピースのタイプ、エンドエフェクタのタイプおよび／またはモデル、またはロボットドレスパッケージから選択される少なくとも１つのロボット特性を受信し、前記少なくとも１つのロボット特性に基づいて、前記データベースから１つ以上のロボットモデルを識別するように構成される選択モジュールと、
２）前記選択モジュールに応答して、前記１つ以上の識別されたロボットモデルに基づいてロボット運動のセットを発生させ、前記ロボットシステムに前記ロボット運動のセットを実行させるための励起軌道モジュールと、
３）前記ロボットシステムによる前記ロボット運動の実行を監視するための監視モジュールと、
４）前記励起軌道モジュールに応答して、前記監視された実行に基づいて、前記選択された１つ以上のロボットモデルに関する動的モデルパラメータを数値的に推定するためのパラメータソルバと
を提供するために前記プロセッサによって実行可能である、システム。
【請求項２】
ロボットコントローラおよび前記ロボットシステムの動作を監視する外部センサからのデータを受信およびタイムスタンピングするための入力モジュールをさらに備える、請求項１に記載のシステム。
【請求項３】
前記パラメータソルバは、動的モデルパラメータをロボットコントローラの安全性評価部分に出力するようにさらに構成される、請求項１に記載のシステム。
【請求項４】
前記ロボットシステムとのデータ転送のための機能的安全性準拠通信インターフェースをさらに備える、請求項１に記載のシステム。
【請求項５】
前記励起軌道モジュールは、そのリアルタイム出力を監視することによって前記ロボットシステムによる前記ロボット運動の実行を監視するように構成される、請求項１に記載のシステム。
【請求項６】
運動捕捉システムをさらに備え、前記監視モジュールは、前記運動捕捉システムを介して前記ロボットシステムによる前記ロボット運動の実行を監視するように構成される、請求項１に記載のシステム。
【請求項７】
前記パラメータソルバは、前記動的モデルパラメータおよび少なくとも１つのロボット特性に基づいて、規定されたロボット用途に関する停止距離曲線を生成するようにさらに構成される、請求項１に記載のシステム。
【請求項８】
前記選択モジュールは、ユーザ規定ロボット用途を受信するようにさらに構成され、前記１つ以上のロボットモデルは、前記ユーザ規定ロボット用途に少なくとも部分的に基づいて識別される、請求項１に記載のシステム。
【請求項９】
前記励起軌道モジュールは、ユーザ規定ロボット用途に少なくとも部分的に基づいて、前記ロボット運動のセットを発生させるようにさらに構成される、請求項１に記載のシステム。
【請求項１０】
前記励起軌道モジュールは、１つ以上のユーザ規定軌道に少なくとも部分的に基づいて、前記ロボット運動のセットを発生させるようにさらに構成される、請求項１に記載のシステム。
【請求項１１】
前記励起軌道モジュールは、１つ以上のユーザ規定システム識別基準に少なくとも部分的に基づいて、前記ロボット運動のセットを発生させるようにさらに構成される、請求項１に記載のシステム。
【請求項１２】
前記励起軌道モジュールは、前記ロボット運動の前記監視された実行に基づいて、前記選択モジュールによって識別された複数のロボットモデルの中から選択するようにさらに構成される、請求項１に記載のシステム。
【請求項１３】
ロボットシステムに関するシステム識別をコンピュータ的に発生させる方法であって、前記方法は、
ロボットの識別、ワークピースのタイプ、エンドエフェクタのタイプおよび／またはモデル、またはロボットドレスパッケージから選択される少なくとも１つのロボット特性を受信および記憶し、前記少なくとも１つのロボット特性に基づいて、データベースから１つ以上のロボット運動学および動的モデルを識別するステップと、
前記１つ以上の識別されたロボットモデルに基づいて、ロボット運動のセットをコンピュータ的に発生させ、前記ロボットシステムに前記ロボット運動のセットを実行させるステップと、
前記ロボットシステムによる前記ロボット運動の実行を監視するステップと、
前記監視された実行に基づいて、前記監視された実行に基づく前記選択された１つ以上のロボットモデルに関する動的モデルパラメータを数値的に推定するステップと、
前記推定された動的モデルパラメータに基づいて前記ロボットシステムを動作させることによって、安全制約を強制するステップと
を含む、方法。
【請求項１４】
ロボットコントローラおよび前記ロボットシステムの動作を監視する外部センサからのデータを受信およびタイムスタンピングするステップをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記ロボットシステムのリアルタイム出力が、監視される、請求項１３に記載の方法。
【請求項１６】
運動捕捉システムを使用して、前記ロボット運動の実行を監視するステップをさらに含む、請求項１５に記載の方法。
【請求項１７】
前記動的モデルパラメータおよび少なくとも１つのロボット特性に基づいて、規定されたロボット用途に関する停止距離曲線を生成するステップをさらに含む、請求項１３に記載の方法。
【請求項１８】
ユーザ規定ロボット用途を受信および記憶するステップをさらに含み、前記１つ以上のロボットモデルは、前記ユーザ規定ロボット用途に少なくとも部分的に基づいて識別される、請求項１７に記載の方法。
【請求項１９】
前記ロボット運動のセットは、ユーザ規定ロボット用途に少なくとも部分的に基づいて発生される、請求項１３に記載の方法。
【請求項２０】
前記ロボット運動のセットは、１つ以上のユーザ規定軌道に少なくとも部分的に基づいて発生される、請求項１３に記載の方法。
【請求項２１】
前記ロボット運動のセットは、１つ以上のユーザ規定システム識別基準に少なくとも部分的に基づいて発生される、請求項１３に記載の方法。
【請求項２２】
前記１つ以上のロボットモデルは、前記ロボット運動の前記監視された実行に少なくとも部分的に基づいて識別される、請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願に対する相互参照）
本願は、２０１８年８月３０日に出願された米国仮特許出願第６２／７２４，９４７号に対する優先権および利益を主張し、参照によりその全体を本明細書に援用する。
【０００２】
（発明の分野）
本発明の分野は、概して、ロボット安全性に関し、特に、産業および他の環境内で安全なロボット動作を確実にするためにロボット動作を特徴付けるためのシステムおよび方法に関する。
【背景技術】
【０００３】
（背景）
産業ロボットは、費用を節約するために、生産性および品質を高めるために、危険な作業、面倒な作業または反復作業を排除するために、または、ロボットの強度、速度、信頼性、および寿命を通して人間の能力を増大するために、現代の製造業において広く展開されている。製造作業セルにおける人間−ロボット協働が増加している最近の傾向は、ロボット性能および能力に特に厳しい要件を課している。従来の産業ロボットは、人間にとって危険であり、通常、防護対策を通して人間から分離された状態に保たれ、例えば、ロボットは、開放されると電気回路に機械類を安全状態にさせる扉を伴うケージによって囲繞され得る。他のアプローチは、人間が機械類に接近するとまたは所定の距離閾値を超えると機械類を減速または停止させるライトカーテンまたは２Ｄ面積センサを伴う。当然ながら、これらのシステムは、人間と機械との間の全ての相互作用を妨害し、作業空間の協働使用を厳しく制約する。
【０００４】
一方、人間およびロボットを同一の作業空間内で動作させることは、ロボット性能に付加的要求をもたらす。両方とも、急速かつ不規則な方法で位置および構成を変更し、ロボットの応答時間、運動学、および動力学に付加的性能要件を課し得る。典型的な産業ロボットは、据え付けであるが、それにもかかわらず、可能な移動軌道の広い「移動域」にわたって傷害を引き起こすことができる強力なアームを有し、人間が存在する空間内のこれらの軌道の精密な知識を有することが、安全動作の基本である。
【０００５】
比較的に新しい用途（例えば、精密機械加工、レーザ溶接、レーザ切断、およびマルチロボット協働）もまた、ロボットツールからより高い動的性能を要求する。例えば、ロボットレーザ溶接では、ワークピースが、集束された高出力レーザビームを用いて溶接される。マニピュレータは、溶接プロセス全体を通して、ミクロンレベルの精度で高速（時として、５０ｍｍ／秒よりも速い）で溶接シームに沿って高出力レーザビームの焦点を移動させなければならない。これらの速度において、従来の産業ロボットコントローラの動的応答時間は、レーザ溶接タスクのためには遅すぎる場合があり、より洗練された制御システムが、これらの速度および精度仕様を満たすために要求される。さらにより高い精度および正確度が、ロボット外科手術等の用途のために要求される。
【０００６】
より高い性能を推進する別の因子は、軽量ロボット構造への傾向であり、ロボット重量は、低減されるが、有効荷重容量は、低減されず、これは、より堅性のより重いロボットのものに匹敵したままである。これは、費用削減ならびに安全性配慮によって動機付けられるが、強化された弾性効果を伴うより柔軟な機械的構造をもたらす。そのようなロボットの軌道を精密に制御することは、より困難であり、したがって、より洗練された制御方法論が、必要とされる。
【０００７】
一般に、ロボットアームは、精密に制御されることができる回転ジョイントによって接続されるいくつかの機械的リンクを備え、コントローラが、具体的用途に関して自動化または製造技師によって判定およびプログラムされる軌道を達成するように全てのジョイントを協調させる。ロボット軌道を正確に制御し得るシステムが、協働人間−ロボット用途における安全性のために不可欠である。しかしながら、産業ロボットの正確度は、製造公差（例えば、機械的アームの加工に関する）、ジョイント摩擦、駆動非線形性、および制御システムの追従誤差等の因子によって限定される。加えて、これらのロボットマニピュレータの駆動部およびジョイントにおけるバックラッシュまたはコンプライアンスは、ロボットアームにおけるコンプライアンスが、制御システムの最大帯域幅を減少させるため、ロボットアームの位置付け正確度および動的性能を限定することができる。
【０００８】
マニピュレータの総到達可能体積（「ジョイント空間」）を説明する産業ロボットの運動学的定義は、個々のロボットリンク幾何学形状およびそれらのアセンブリから導出される。ロボットの動的モデルは、運動学的定義を入力としてとり、これに、ロボットが各ジョイント界面において可能な速度、加速度、力、およびモーメントについての情報を追加し、システム識別手順を適用し、ロボット動的モデルパラメータを推定することによって、発生される。システム識別手順から推定される正確な動的ロボットモデルは、機械的設計、作業セルおよび性能シミュレーション、制御、診断、安全性およびリスク査定、ならびに監督等の多くの分野で必要とされる。
【０００９】
例えば、ロボット支援外科手術は、手術前計画、外科手術シミュレーション、および訓練のためにロボットシステムの正確なモデルを要求する。溶接用途のための良好なモデルは、ロボットアームの端部における溶接先端位置および速度の正確な予測を促進する。先端予測は、要求される公差内でロボットが溶接タスクを実施することができるかどうかを決定するためのオフラインプログラミング（そうでなければ生産施設での試験のために高価な機械時間を要求する分析）のために使用されることができる。協働用途では、多数の開始有効荷重、速度、および姿勢下の停止距離を把握することが、流動的、安全、かつ直感的な人間−ロボット相互作用のために重要である。
【００１０】
システム識別は、システムを定義するパラメータを推定するために、システムの入力および出力信号の測定値を使用して、動的システムの数学モデルを構築することを伴う。システム識別のための方法論は、最初に、システムの入力および出力変数の間の数学的関係であるモデル構造を選択し、次いで、動的システムからの実験的測定値を使用し、モデルパラメータを推定することを伴う。動的システムのモデルは、恣意的パラメータを伴う差分または微分方程式モデル、調節可能な極およびゼロを伴う伝達関数、ならびに未知のシステム行列を伴う状態空間方程式を含む。
【００１１】
このように分析されることができる１つの単純な動的システムは、ばね上の物体である。ここでは、数学モデルは、物体の質量およびばねのばね定数（堅性）を動的パラメータとして含む二次線形微分方程式である。システムの力（入力）および変位（出力）の測定は、動的パラメータの推定を可能にする。
【００１２】
ロボットシステム識別は、ロボット（より典型的には、ロボットアーム）に関するシステム識別である。これは、ロボットが、システム動力学を定義する多くのジョイントおよび多くのパラメータを有するため、単純なばねシステムよりもはるかに複雑であるが、原理は、類似する。ロボットの運動学的定義は、ロボットリンクとジョイントとの間の機械的関係および物理的制約を判定するための初期モデルとして使用される。この運動学的定義は、次いで、ロボット動的パラメータを推定するために使用される。
【００１３】
動的システム入力および出力の実験的測定に基づいてロボット動的パラメータを推定するためのいくつかの方法が、存在する。線形最小二乗推定方法および最尤推定方法が、一般的なアプローチである。他のアプローチは、拡張カルマンフィルタ、非線形最小二乗最適化、および計測変数アプローチを含む。これらの方法は全て、文献に明確に規定されている。
【００１４】
パラメータが推定されると、結果として生じるモデルは、モデルが用途のために適正であるかどうかを判定するために、実際のシステム性能に対して評価されることができる。パラメータ値は、信頼領域内で正確であり、この領域のサイズは、推定中に算出されたパラメータ不確定性の値によって判定される。不確定性の大きさは、モデルの信頼性の尺度を提供する。
【００１５】
推定されると、ロボットモデルパラメータは、停止距離および他の安全関連量を算出するために使用されることができる。ロボットリンクは、典型的には、モータを備え付けられる大きく重い金属鋳物であるため、それらは、移動する間に有意な慣性を有する。初期速度、有効荷重、およびロボット配向に応じて、ロボットは、停止コマンドが発行された後に停止するためにかなりの時間量がかかり得る（および長い距離を進行し、数メートルも、珍しくない）。これらの停止距離は、ロボットの周囲に安全防護対策を設置するために要求される最小距離を計算することに対する入力である。協働用途（ＩＳＯ  １０２１８−１に説明される速度および分離監視（ＳＳＭ）におけるもの等）では、停止距離は、保護分離距離（ＰＳＤ）に対する入力である。ＰＳＤは、人間からロボットを分離する最小距離であり、人間およびロボットがＰＳＤよりも近づく場合、停止コマンドが、ロボットに発行される必要がある。
【００１６】
安全標準は、ロボットが安全停止機能とともに設計されることを要求する。ＩＳＯ  １０２１８−１では、ロボット製造業者は、ＩＳＯ  ６０２０４からの停止機能を実装することを義務付けられる。標準によって義務付けられる３つのタイプの安全停止、すなわち、カテゴリ０、カテゴリ１、およびカテゴリ２が、存在する。カテゴリ０停止は、サーボモータからの全ての電力を切断し、事前プログラムされた軌道を維持するいかなる保証も伴わずに可能な限り早く運動を止める。カテゴリ１停止は、通常、これが停止するまで、ロボットの事前プログラムされた軌道を辿って、制御された様式でロボットマニピュレータを減速させ、モータへの電力を遮断する。カテゴリ２停止もまた、停止後にサーボモータの電源をオンに保ちながら、その軌道に沿ってロボットマニピュレータを減速させる。カテゴリ２停止では、ロボットは、カテゴリ２停止命令が解除された後にその運動を再開できる状態のままである一方、カテゴリ０またはカテゴリ１停止の後の再開は、通常、全体的セル安全性のオペレータ肯定応答を要求する。停止機能実装要件に加えて、ＩＳＯ  １０２１８−１標準はまた、ロボット製造業者が、カテゴリ０およびカテゴリ１停止に関するそのロボットの停止時間および距離に関連するある情報を公開することを義務付けている。停止距離は、停止信号の開始後に進行した合計距離として定義され、距離は、適宜、線形または角度単位において規定される。
【００１７】
ロボット用途が、より洗練されたものになり（より高い動的性能を要求する）、ロボットが、より軽量かつより柔軟なものになるにつれて、ロボットマニピュレータの動力学を正確にモデル化することは、研究者、エンドユーザ、システムインテグレータ、およびロボット製造業者の間で重要性を増している。器用な操作タスク、および、ロボットの近傍の人間を含む環境との相互作用は、具体的用途に関するロボットの動的モデルの正確な知識を要求する。
【００１８】
ロボットアームの動的モデルは、直接測定されるかまたは実験的に判定されるかのいずれかでなければならない種々の慣性および摩擦パラメータの観点から表される。ロボットマニピュレータのモデル構造は、周知であるが、システム識別のために必要とされるパラメータ値は、動的パラメータが、ロボット製造業者によって提供されることが少なく、多くの場合、直接測定可能ではないため、常に利用可能であるわけではない。コンピュータ支援設計（ＣＡＤ）データまたはモデルからのこれらのパラメータの判定もまた、それらが、ジョイント摩擦、ジョイントおよび駆動弾性、ならびに付加的機器（例えば、エンドエフェクタ、ロボット有効荷重、またはロボットドレスパッケージ）によって導入される質量のような動的効果を含まない場合があるため、完全な表現をもたらさない場合がある。
【００１９】
効果的なロボットシステム識別のための１つの重要な必要性は、ロボット機器の安全性評価のためのジョイント加速度特性およびロボット停止距離の推定にある。人間が、ロボットアームに物理的に接近する際、安全システムが、関与し、アームへの電力を切断または低減させるが、ロボット慣性は、ロボットアームを移動させ続け得る。効果的な停止距離（停止コマンド等の安全システムの関与から測定される）は、慣性効果を前提として、ロボットアームからの安全分離距離を判定するための重要な入力である。同様に、全てのセンサシステムは、ある量の待ち時間を含み、ジョイント加速度特性は、ロボットの状態が制御出力の測定と適用との間で変化することができる程度を判定する。上記に説明される異なる種類の停止カテゴリ（カテゴリ０、１、および２）は、異なる停止距離をもたらし、これは、エンドエフェクタ、有効荷重、ロボットドレスパッケージ、および停止が開始された姿勢からのロボットの操作性によってさらに影響を受ける。
【００２０】
ロボット製造業者は、通常、停止距離および時間を示す曲線またはグラフを提供するが、これらの曲線は、解釈することが困難であり得、まばらであり、低分解能であり、具体的荷重を反映する傾向があり得、典型的には、加速度を含まない、または停止に関与する時点におけるロボット位置を示さない。標準は、ロボットに関する最大速度、延在、および有効荷重の３３％、６６％、および１００％における、または、そのデータセットから３３％および６６％の事例を計算するための方程式が提供される場合には各条件の１００％のみにおける停止時間および距離の報告を要求する。ロボット製造業者はまた、現在、カテゴリ２停止に関する停止時間および距離情報を提供することを義務付けられていない。カテゴリ２停止は、停止に応じてロボットモータの電源をオンに保つことによって、再始動時にはるかに短い待ち時間を有し、したがって、流動的かつ安全な人間−ロボット協働により良好に適している。
【００２１】
その不完全な性質のため、これらの曲線は、通常、安全および危険なロボット作業空間区域を判定する際の保守的な指針としてのみ使用され、システム識別または安全な協働人間−ロボット用途の設計のために使用されない。その断片的かつ不完全な性質は、概して、エンドユーザ、システムインテグレータ、安全防護対策デバイス製造業者、またはリスク査定専門家が、ロボットと防護対策機器との間に分離距離を実装するときに過度に保守的であることを強制する。その結果、ロボットと人間との間に可能にされる距離は、安全な相互作用のために必要とされるものよりも大きくなる傾向があり、流動性を低減させ、安全な人間−ロボット協働を妨げる。
【００２２】
さらに、最大有効荷重および速度またはその付近における過剰なロボット使用、蓄積されたカテゴリ０安全停止（機械的制動を伴い得る）、および経時的な一般的摩耗は、製造業者によって提供されるものを下回って停止性能を低減させ、潜在的に安全ではない条件につながり得る。最後に、従来のシステム識別方法は、使用が煩雑であり、多くの場合に実践的用途のためにさらに分析およびマッピングされなければならないパラメータを発生させる。これらのパラメータは、概して、静的であり、システム識別出力の一部として固定され、したがって、ロボット軌道が人間挙動に応答して動的に変化するもの等、動的リアルタイムパラメータ構造が必要とされる用途のために適していない。例えば、システム識別手順は、ロボット運動の動的方程式に関する加重を発生させ得るが、本当に必要とされるものは、具体的用途に関する停止時間および距離である。パラメータの１つのセットを他のものにマッピングすることは、些細なタスクではない。
【００２３】
より厳格な制約および異なる環境条件（様々な有効荷重およびエンドエフェクタ等）下でロボット動力学をモデル化および予測することに対する改良されたアプローチが、したがって、必要とされる。製造およびロボット技師によって解釈され得る単純かつロバストな入力および出力を使用する、用途毎のかつ生産環境内での使用が可能なシステム識別は、安全性を損なうことなく、協働ロボット使用の機会を拡大する。
【発明の概要】
【課題を解決するための手段】
【００２４】
上記に解説されるように、従来のロボットシステム識別では、目的は、恣意的なロボットジョイント角度および軸速度初期条件を伴う恣意的な励起入力に関するジョイント速さおよび加速度を特徴付けるために、ロボットの動的モデルを判定することである。これらの速さおよび加速度は、ロボットリンクの慣性パラメータと、ロボットジョイントにおける高度に非線形の現象（運動および静止摩擦係数によってパラメータ化される摩擦等）と、エンドエフェクタ、有効荷重、およびロボットドレスパッケージの静的および動的特性とに依存する。
【００２５】
しかしながら、そのような特性の直接測定は、非実践的であり得る、実世界用途のために不必要であり得る、またはさらには多くの場合に不可能であり得ることが見出されている。ロボットリンクの慣性パラメータは、ロボットアームを分解しないと測定されることができない一方で、ロボットジョイントにおける摩擦等の高度に非線形の現象は、直接定量化されることができない。したがって、このアプローチによると、現実的な動作条件において組み立てられたロボットを使用する実験的システム識別が、パラメータに関する正確な値を判定するために採用される。関連するパラメータの完全な推定は、具体的用途のために必要ではない場合があり、システム識別を、用途に最も関連しかつ有用であるパラメータのサブセットに限定することが可能であることが、さらに見出されている。例えば、ＩＳＯ  １０２１８−１によるＳＳＭを適用する一般的協働用途では、システム識別プロセスからの最も重要な出力は、用途特有ジョイントまたはツール中心点（ＴＣＰ）位置および速さを前提として、ロボット停止距離および時間である。
【００２６】
モデル構造の選定、ロボット励起軌道設計、データ測定、信号処理、パラメータ推定、およびモデル検証を伴う従来のロボットシステム識別手順と対照的に、本明細書による実験的ロボットシステム識別は、既知の励起軌道に沿ったロボット運動中に測定される運動および力またはトルクデータに基づいて、動的ロボットパラメータを推定してもよい。これらの技法は、動的ロボットモデルが、未知としての動的パラメータを伴う方程式の線形セットとして記述され得るという事実を活用してもよい。これ等の公式化は、包括的な意味における最適なパラメータセットを見出す線形推定技法の使用を可能にする。
【００２７】
本発明の実施形態は、自動化ロボットシステム識別および停止時間および距離推定を提供し、ロボットシステム識別の既存のアドホック方法を有意に改良する。本明細書によるシステムおよび方法は、用途毎にロボットの動的パラメータを推定するために、エンドユーザ、システムインテグレータ、およびロボット製造業者によって使用されることができる。
【００２８】
故に、一側面では、本発明は、ロボットシステムに関するシステム識別を発生させるためのシステムに関する。種々の実施形態では、本システムは、プロセッサと、メモリであって、メモリは、（ｉ）ロボット運動学および動的モデルのデータベースと、（ｉｉ）命令とを含む、メモリとを含み、命令は、（ａ）ロボットシステムの識別、ワークピースのタイプ、エンドエフェクタのタイプおよび／またはモデル、またはロボットドレスパッケージから選択される１つ以上のロボット特性を受信し、ロボット特性に基づいて、データベースから１つ以上のロボットモデルを識別するように構成される選択モジュールと、（ｂ）選択モジュールに応答して、識別されたロボットモデルに基づいて、ロボット運動のセットを発生させ、ロボットシステムにロボット運動のセットを実行させるための励起軌道モジュールと、（ｃ）ロボットシステムによるロボット運動の実行を監視するための監視モジュールと、（ｄ）励起軌道モジュールに応答して、監視された実行に基づいて、選択されたロボットモデルに関する動的モデルパラメータを数値的に推定するためのパラメータソルバとを提供するためにプロセッサによって実行可能である。
【００２９】
本システムは、ロボットコントローラおよびロボットシステムの動作を監視する外部センサからのデータを受信およびタイムスタンピングするための入力モジュールをさらに含んでもよい。加えて、パラメータソルバは、動的モデルパラメータをロボットコントローラの安全性評価部分に出力するようにさらに構成されてもよい。一実施形態では、本システムは、ロボットシステムとのデータ転送のための機能的安全性準拠通信インターフェースをさらに含む。いくつかの実施形態では、励起軌道モジュールは、そのリアルタイム出力を監視することによってロボットシステムによるロボット運動の実行を監視するように構成される。
【００３０】
本システムは、運動捕捉システムをさらに含んでもよく、監視モジュールは、次いで、運動捕捉システムを介してロボットシステムによるロボット運動の実行を監視するように構成される。いくつかの実施形態では、パラメータソルバは、動的モデルパラメータおよびロボット特性に基づいて、規定されたロボット用途に関する停止距離曲線を生成するようにさらに構成される。加えて、選択モジュールは、ユーザ規定ロボット用途を受信するようにさらに構成されてもよく、ロボットモデルは、ユーザ規定ロボット用途に少なくとも部分的に基づいて識別されてもよい。
【００３１】
種々の実施形態では、励起軌道モジュールは、ユーザ規定ロボット用途、１つ以上のユーザ規定軌道、および／または１つ以上のユーザ規定システム識別基準に少なくとも部分的に基づいて、ロボット運動のセットを発生させるようにさらに構成される。加えて、または代替として、励起軌道モジュールは、ロボット運動の監視された実行に基づいて、選択モジュールによって識別された複数のロボットモデルの中から選択するようにさらに構成されてもよい。
【００３２】
別の側面では、本発明は、ロボットシステムに関するシステム識別をコンピュータ的に発生させる方法に関する。種々の実施形態では、本方法は、ロボットの識別、ワークピースのタイプ、エンドエフェクタのタイプおよび／またはモデル、またはロボットドレスパッケージから選択される１つ以上のロボット特性を受信および記憶し、ロボット特性に基づいて、データベースから１つ以上のロボット運動学および動的モデルを識別するステップと、識別されたロボットモデルに基づいて、ロボット運動のセットをコンピュータ的に発生させ、ロボットシステムにロボット運動のセットを実行させるステップと、ロボットシステムによるロボット運動の実行を監視するステップと、監視された実行に基づいて、監視された実行に基づく選択されたロボットモデルに関する動的モデルパラメータを数値的に推定するステップと、推定された動的モデルパラメータに基づいてロボットシステムを動作させることによって、安全制約を強制するステップとを含む。
【００３３】
本方法は、ロボットコントローラおよびロボットシステムの動作を監視する外部センサからのデータを受信およびタイムスタンピングするステップをさらに含んでもよい。加えて、本方法は、ロボットシステムのリアルタイム出力を監視するステップを含んでもよい。一実施形態では、本方法は、運動捕捉システムを使用して、ロボット運動の実行を監視するステップをさらに含む。いくつかの実施形態では、本方法は、動的モデルパラメータおよびロボット特性に基づいて、規定されたロボット用途に関する停止距離曲線を生成するステップをさらに含む。加えて、本方法は、ユーザ規定ロボット用途を受信および記憶するステップをさらに含んでもよく、ロボットモデルは、ユーザ規定ロボット用途に少なくとも部分的に基づいて識別されてもよい。
【００３４】
ロボット運動のセットは、ユーザ規定ロボット用途、１つ以上のユーザ規定軌道、および／または１つ以上のユーザ規定システム識別基準に少なくとも部分的に基づいて発生されてもよい。加えて、ロボットモデルは、ロボット運動の監視された実行に少なくとも部分的に基づいて識別されてもよい。
【００３５】
一般に、本明細書に使用される場合、用語「ロボット」は、ワークピースに対する移動、操作、ピッキングおよび設置、処理、継合、切断、溶接等の自動化動作を実施するための任意のタイプの制御可能な産業機器を意味する。用語「実質的に」は、±１０％を意味し、いくつかの実施形態では、±５％を意味する。加えて、本明細書全体を通した「一実施例」、「ある実施例」、「一実施形態」、または「ある実施形態」の言及は、実施例に関連して説明される特定の特徴、構造、または特性が、本技術の少なくとも１つの実施例に含まれることを意味する。したがって、本明細書全体を通した種々の場所における語句「一実施例では」、「ある実施例では」、「一実施形態」、または「ある実施形態」の出現は、必ずしも、全てが同一の実施例を指すわけではない。さらに、特定の特徴、構造、ルーチン、ステップ、または特性は、本技術の１つ以上の実施例において任意の適した様式で組み合わせられてもよい。本明細書に提供される見出しは、便宜上のためだけのものであり、請求される技術の範囲または意味を限定または解釈するように意図されない。
【図面の簡単な説明】
【００３６】
図面では、同様の参照文字は、概して、異なる図全体を通して同一の部分を指す。また、図面は、必ずしも縮尺通りではなく、代わりに、概して、本発明の原理を図示することに重点が置かれている。以下の説明では、本発明の種々の実施形態が、本発明のある実施形態によるシステム識別アーキテクチャを図式的に図示する図面の単一の図を参照して説明される。
【図１】図１は、自動化ロボットシステム識別および停止時間および距離の推定のための代表的システム１００を示す。
【発明を実施するための形態】
【００３７】
本発明の実施形態は、自動化ロボットシステム識別および停止時間および距離の推定のためのシステムおよび方法を提供し、不正確、不完全、解釈が困難、または実装が煩雑であり得るロボットシステム識別の既存のアドホック方法を有意に改良する。本明細書に説明されるアプローチは、用途毎にロボットの動的パラメータを推定するために、エンドユーザ、システムインテグレータ、およびロボット製造業者によって使用されることができる。
【００３８】
図１を参照すると、代表的システム１００は、プロセッサ１０２（例えば、ＣＰＵマイクロプロセッサ）および関連付けられるシステムメモリ１０４と、（ローカルネットワークおよび／またはインターネットへの接続のための）ネットワークインターフェース１０６と、１つ以上の不揮発性デジタル記憶要素（例えば、ハードディスク、ＣＤ、ＤＶＤ、ＵＳＢメモリキー等）および関連付けられるドライブ１０８とを含む。下記により詳細に説明されるモデルおよび軌道データベース１１０は、例えば、大容量記憶デバイス１０８のディスクパーティションとしてローカルで記憶されてもよい、または、遠隔で記憶され、ネットワークインターフェース１０６を介してアクセスされてもよい。システム１００は、ユーザ入力／出力デバイス（例えば、ディスプレイ画面１１２および従来の触覚入力デバイス１１５（例えば、キーボードおよびマウスまたはタッチパッド））を含む。種々のコンポーネントが、１つ以上のシステムバス１２０を介して相互に通信する。
【００３９】
動作時、プロセッサ１０２は、システムメモリ１０４内に記憶される１つ以上のコンピュータプログラム（プログラムモジュールとして概念的に図示される）を実行する。オペレーティングシステム１３０（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ｉＯＳ、またはＡｎｄｒｏｉｄ等）は、低レベルシステム機能（例えば、ファイル管理、リソース割当、および、ハードウェアデバイスからのメッセージのルーティングおよびハードウェアデバイスへのメッセージのルーティング）と、選択モジュール１３５、励起軌道（Ｅ−Ｔ）モジュール１３７、および監視モジュール１４０を含む１つ以上のより高レベルのアプリケーションとを提供する。入力モジュール１４２は、ロボットコントローラ１４８によって制御されるロボットと関連付けられる複数の外部センサ１４５からデータを受信する。入力モジュール１４２はまた、例えば、ユーザがキーボードをタイプすることによって、マウスを移動させることによって、または、表示される画面上でマウスを用いてクリックすることによって、画面表示を発生させ、入力デバイス１１５を介してユーザ入力を受信するためのインターフェース機能性を含んでもよい。パラメータソルバ１５０は、動的モデルパラメータおよび関連付けられる信頼区間の数値的推定値を発生させる。これらの数値的推定値は、ディスプレイ１１２を介してグラフでまたは表形式で提示されることができ、ロボット性能を改良するためのＥ−Ｔモジュール１３７への入力として使用されることができる。例えば従来のリアルタイム低待ち時間イーサネット（登録商標）通信層であり得る通信モジュール１５２は、センサ１４５およびロボットコントローラ１４８からデータを受信し、入力モジュール１４２による処理のためにデータを利用可能にする。
【００４０】
機能モジュール１３５、１３７、１４０、１４２、１５０は、ハードウェアおよび／またはソフトウェアにおいて実現されてもよく、後者の場合では、限定ではないが、ＴｅｎｓｏｒＦｌｏｗ、Ｋｅｒａｓ、ＰｙＴｏｒｃｈ、またはＴｈｅａｎｏ等の任意の適したフレームワークおよびライブラリを利用して、限定ではないが、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、Ｐｙｔｈｏｎ、Ｒｕｂｙ、Ｓｃａｌａ、およびＬｕａ等の高レベル言語を含む任意の適したプログラミング言語でコーディングされてもよい。加えて、ソフトウェアは、標的デバイス上に常駐するマイクロプロセッサを対象とするアセンブリ言語および／または機械言語で実装されることができる。プロセッサ１０２は、任意の適したタイプのコンピューティングハードウェア（例えば、マイクロプロセッサ）であり得るまたはそれを含み得るが、種々の実施形態では、マイクロコントローラ、周辺集積回路要素、ＣＳＩＣ（特定顧客向け集積回路）、ＡＳＩＣ（特定用途向け集積回路）、論理回路、デジタル信号プロセッサ、プログラマブル論理デバイス（例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＰＬＤ（プログラマブル論理デバイス）、ＰＬＡ（プログラマブル論理アレイ））、ＲＦＩＤプロセッサ、グラフィックス処理ユニット（ＧＰＵ）、スマートチップ、あるいは、本発明のプロセスのステップを実装することが可能である任意の他のデバイスまたはデバイスの配列であり得る。
【００４１】
動作時、選択モジュール１３５は、ユーザが、随意に、ディスプレイ１１２および入力デバイス１１５を介して、研究対象のロボットの動力学を特徴付ける、初期数学モデルを選択することを可能にし、例えば、ユーザは、データベース１１０からモデルを選択する、または新しいモデルを規定することを可能にされてもよい。数学モデルは、典型的には、ロボット幾何学形状、アーキテクチャ、ロボットモデル番号、および用途に基づく、二次非線形微分方程式のセットを含む、またはそれから成る。いくつかの実施形態では、データベース１１０は、広く使用されるロボットアームに関するモデルパラメータを記憶する。選択モジュール１３５は、入力として、ロボットの識別、ワークピースのタイプ、エンドエフェクタのタイプおよび／またはモデル、ならびに／あるいはドレスパッケージをとることができる。この入力に基づいて、モジュール１３５は、ロボット幾何学形状（例えば、ジョイントの数および有効荷重重量）に基づいて、データベース１１０からシステム識別に関する候補数学モデル（すなわち、ロボット運動学を特徴付ける非線形微分方程式のセット）を選択してもよい。代替として、または加えて、選択モジュール１３５は、ネットワークインターフェース１０６を介してユーザから構成ファイルを受信し、これらを使用し、記憶されたモデルのうちの１つ以上のものをインスタンス化してもよく、構成ファイルは、例えば、所与のロボットバージョンに関する可能性として考えられるモデルの範囲を規定してもよい。
【００４２】
加えて、選択モジュール１３５は、研究対象のロボットが使用されることを意図される特定の用途をユーザが規定することを可能にしてもよい。データベース１１０は、下記に説明されるように読み出されて使用される具体的用途と（すなわち、具体的ロボットモデルとだけではなく）関連付けられる１つ以上の試験軌道の仕様を含んでもよい。例えば、溶接用途は、ある特徴的な運動のセットと、溶接点において精密に停止するロボットの能力とを要求し、これらの要件は、下記により詳細に説明されるようなシステム識別手順に組み込まれる。種々の実施形態では、選択モジュール１３５は、システム識別中に使用されるべき特定の軌道（例えば、意図される使用に対して重要であるが、データベース１１０内のいかなる用途とも関連付けられない軌道）をユーザが規定することをさらに可能にする。最後に、選択モジュール１３５は、ユーザが、システム識別の属性（例えば、具体的用途および有効荷重に関する停止時間および距離を判定すること等の識別のより狭い形態）を規定することを可能にしてもよい。
【００４３】
入力モジュール１４２は、通信モジュール１５２を介して外部センサ１４５からの着信データを管理する。センサ１４５は、研究対象のロボットの動作に関連するデータを感知および通信する。入力モジュール１４２は、この入力データを記憶およびタイムスタンピングし、複数のセンサタイプが、システム識別プロセス中にロボットコントローラから直接収集されたデータに加えて、並行して利用され得るため、着信センサデータに関するタイムスタンプを実際のロボット運動に較正することができる。通信モジュール１５２は、望ましくは、機能的に安全であるように設計され、実際には、パラメータソルバ１５０を含むリアルタイムで実行される任意のモジュールが、理想的には機能的に安全である。
【００４４】
較正手順は、例えば、各センサに既知のタイムスタンピングされた位置を伴う所定の軌道を巡回させ、各センサの個々のタイムスタンプの間のオフセットを判定すること、または、センサタイプ毎の既知の待ち時間とともに外部入力を使用し、同期データ収集をトリガすることを含むことができる。例えば、センサ１４５は、研究対象のロボットのアクションを監視する１つ以上のカメラを含み、従来のコンピュータビジョン能力を使用して、運動学的分析のためにロボットおよびそのジョイントの移動を特徴付ける運動捕捉データを提供してもよい。システム識別のために使用される他のセンサは、加速度計、慣性測定ユニット（ＩＭＵ）、力またはトルクセンサ、あるいは、ロボットの現在の運動学的または動的状態に関する情報を提供する任意のセンサを含んでもよい。これらのセンサは、ロボットコントローラ１４８に加えて、ジョイントホーム場所からのエンコーダパルス、度、またはラジアン変位の形態における位置データ、または、１秒あたりのエンコーダパルス、度、またはラジアンの形態における速さデータ、または、任意の所望の座標フレーム（例えば、ロボット基部、ツール先端、外部に定義されたワールドフレーム等）に対するＴＣＰ位置または速さを提供することができる。
【００４５】
これらの位置または速さは、データベース１１０からの事前選択された軌道のうちの１つの全体を通して、または、具体的用途のために開発されたプログラムされた軌道の実行全体を通して記録されることができる。いずれの場合も、システム１００は、位置および速さを収集し、エンドエフェクタ、有効荷重、ロボットドレスパッケージ、または任意の付加的工具を含む荷重を入力としてとり、軌道全体を通して異なる速さにおいて一連の停止を実施することができ、試験される位置、速さ、および荷重のより大きいサブセットは、ロボット停止時間および距離のより正確な全体的モデルにつがなる。データベースからの所定の軌道を使用する識別は、定位置の作業セルまたは特定用途向け据え付け品と衝突するロボットの移動を要求し得ることを認識されたい。故に、手順は、据え付け品が定位置に置かれる前に、ロボットまたは作業セルの試運転の間に実施されてもよい。このアプローチの利益は、その作業移動域のより広い範囲にわたるロボットのより正確な全体的モデルを含む。しかしながら、システム識別が、部分的または完全に開発された作業セル用途の内側のロボットに対して実施される場合、衝突がないように手動でまたは自動的に、チェックされたデータベースからの軌道のサブセットが、完全ではないがそれにもかかわらず具体的用途によって要求されるものよりも広い範囲の運動を網羅するロボットの能力の説明を達成するために実行されることができる。
【００４６】
システム識別の最も実践的な利益は、典型的には、ロボットに、全ての特定用途向け軌道を実施する完全に定義された作業セル内で用途またはタスクを実行させることから生じる。このシナリオでは、ロボットが繰り返しとる経路は、監視モジュール１４０によって監視されることができ、これは、例えば、記録されるタスクの間のジョイント毎の最大速さを記録してもよく、ロボットは、軌道全体を通して各場所において反復的に停止され、タスクの実施中の任意の時点におけるロボットのジョイント毎の停止の「最悪の場合のシナリオ」を確立することができる。タスク全体を通してより正確な停止データを提供するよりロバストなモデルが、その最大速さを下回る条件のサブセットにおいてジョイント毎の場所における反復的停止を追加することによって開発されることができる。
【００４７】
Ｅ−Ｔモジュール１３７は、候補モデルに最良に適合するパラメータを判定するために、Ｅ−Ｔモジュール１３７によって選択されてロボットコントローラに通信された一連の試験軌道を通して、研究対象のロボットを実行するようにロボットコントローラ１４８に信号伝達する。これらの試験シーケンスは、全てのロボットに適用される所定の運動、ならびに（ｉ）特定のロボットモデル（またはそのバージョンと関連付けられる特異点条件を考慮して、ロボットバージョン）と関連付けられる軌道、（ｉｉ）ユーザによって規定された特定の用途と関連付けられる軌道および運動、（ｉｉｉ）ユーザによって明確に規定された軌道、および／または（ｉｖ）規定された有効荷重および軌道シーケンスを前提として停止時間を判定すること等のより狭い識別基準を目標とする軌道を含んでもよい。試験シーケンスは、ロボットに、ユーザによって直接選択される、またはユーザ規定基準を前提としてデータベース１１０からＥ−Ｔモジュール１３７によって選択される軌道を実行させる。Ｅ−Ｔモジュール１３７は、軌道を選択するだけではなく、また、データベース１１０から複数の適合するモデルを読み出すようにプログラムされ、選択された軌道にわたるロボット性能に基づいて、最良フィットモデルを判定してもよい。ユーザ基準に応じて、「最良フィット」は、例えば、全体的停止（すなわち、最悪のジョイント）か、またはジョイント毎に定義されるかのいずれかに関して、最短停止距離、最短停止時間、または２つの最小限にされる組み合わせを含んでもよい。他の「最良フィット」基準は、限定ではないが、算出待ち時間を短縮するための最小複雑性または選択可能な信頼区間にわたるモデルの正確度等のマルチモデル選択の結果をフィルタ処理するためにユーザによって定義され得る。所定の運動は、具体的ロボットバージョンの特異点または特異点近傍条件等の複雑性を考慮してもよく、これらは、データベース１１０内に含有される。
【００４８】
一実施形態では、データベース１１０は、その行がそれぞれ軌道標識に対応しかつ列がモデル選択に関連する種々のカテゴリ内のエントリに対応する表として概念的に編成される。各軌道標識は、軌道に関する基本的パラメータを含有するファイルをインデックス化してもよい。表の各セルは、空欄であり（軌道が、列標識に関連しない、または列標識によって規定されるロボットによって実施不可能であることを示す）、関連するものとしてチェックされてもよい、または、軌道に関連する付加的データを含有してもよい。例えば、軌道標識は、半径４ｃｍの円形エンドエフェクタ経路を規定してもよい。その行に沿った特定のセルは、例えば、円形運動が行われるべき速度またはアーム方位角をさらに規定してもよい。
【００４９】
列は、ロボットモデル、ロボットバージョン（このカテゴリ内の各列は、商業的に入手可能なロボットまたはロボットアームを規定する）、用途（溶接、設置、継合等）、具体的試験基準（例えば、特定の軌道によって最良に試験され得る、重い有効荷重に関する停止距離）、ワークピースのタイプ、エンドエフェクタのタイプ、ドレスパッケージ等の標識カテゴリを含んでもよい。例えば、ユーザが、ロボットバージョンおよび用途の両方を規定すると仮定する。選択モジュール１３５は、規定されたロボットバージョンと適合する１つ以上のモデルを識別し得、これらのモデルは、表内の種々の軌道と関連付けられる。選択モジュール１３５は、表が、規定された用途に関する列エントリを有するかどうかをさらに判定してもよく、該当する場合、重複しない軌道（表セル内に規定される任意のデータを含む）が、Ｅ−Ｔモジュール１３７が実施するように研究対象のロボットに指示する軌道のリストに追加されてもよい。選択された用途に応じて、選択モジュールは、ディスプレイ１１２を介して、有効荷重重量等のユーザからの付加的情報を求めてもよい。この付加的パラメータは、（例えば、特定の軌道および用途組み合わせによって規定されたセル内に記憶される公式に基づいて）分析的にか、または表が、特定の用途のために、それぞれ有効荷重重量範囲に対応する複数の列を含むためかのいずれかで、実施されるべき軌道の側面をコンピュータ的に修正するために使用されてもよい。
【００５０】
より単純には、関係データベースが、ベースロボットモデル、用途、および軌道を規定してもよく、選択モジュール１３５は、ロボットが以前に試験されていない新しい用途に関するモデルを作成するための選択肢の中から選択してもよい。
【００５１】
監視モジュール１４０は、ロボットコントローラ１４８からロボットのリアルタイム出力（ジョイント速さおよび位置）を監視することができるか、または代わりに、作業セル空間上に配設された運動捕捉システム（カメラ、加速度計、センサ１４８、または適したコンピュータビジョン能力と組み合わせられる他の機構等）からロボットジョイント位置を捕捉し得るかのいずれかである。運動捕捉システムは、ロボットジョイント位置を判定する主要な手段として、またはロボットコントローラからのリアルタイムデータインターフェースへの検証として使用されることができる。
【００５２】
パラメータソルバ１５０は、監視モジュール１４０からのデータを所望の出力、すなわち、システム識別に処理する。特に、パラメータソルバ１５０は、監視モジュール１４０からタイムスタンピングされたデータを受信し、それに基づいて、ジョイント動力学を記述する微分または差分方程式のセットの係数または関連付けられる信頼区間を伴うロボットの全体的動的モデルを記述するパラメータであり得る動的モデルパラメータの数値的推定値を発生させる。これらの数値的推定値は、ディスプレイ１１２を介してグラフでまたは表形式で提示されることができ、ロボット性能を改良するためのＥ−Ｔモジュール１３７への入力として使用されることができる。ロボットシステムのここで完全な動的モデルを前提として、パラメータモジュール１５０（またはより特殊化されたモジュール）は、具体的用途と、ロボットアーム、有効荷重、エンドエフェクタ、およびドレスパッケージの組み合わせとに関する完全な停止距離曲線を生成することができる。これらの計算は、事実上、ロボットが、着目用途に関して特徴付けられているため、規定された有効荷重（例えば、複数の有効荷重）、ロボット運動、およびロボットアーム延在を伴う特定の用途に関する一般的パラメータよりも有意義であり、一般的システムのために意図される安全性評価用途によって典型的に提供されるものを下回って、速度および分離監視計算における危険区域を縮小する。システム識別データまたはその一部（例えば、停止時間）はまた、ロボット動作を統御するために、ロボットまたはそのコントローラ内に（例えば、ＩＳＯ  １３８４９またはＩＥＣ  ６２０６１標準による制御システムの安全性評価部分内に）記憶されてもよい。
【００５３】
本発明のある実施形態が、上記に説明されている。しかしながら、本発明は、それらの実施形態に限定されず、むしろ、本明細書に明確に説明されるものへの追加および修正もまた、本発明の範囲内に含まれることに明確に留意されたい。
【図１】
2021534010.tif 000003
【国際調査報告】
2021534010.tif 000004
2021534010.tif 000005