(57)【要約】特別な構成要素またはタスク特有構成要素を利用する必要性なく、精密なロボット動作を提供するためのシステムおよび方法は、一実装では、ロボットマニピュレータ（１０２）から物理的に分離し、高空間精度を伴うタスクを実施するために、標的ワークピース（１０８）を支持し、ロボットマニピュレータ（１０２）と協働する空間調節システム（１００）を利用する。一実施形態において、標的をロボット操作する方法は、標的の位置を決定することと、ロボットマニピュレータを標的位置に大ざっぱに移動させることと、ロボットマニピュレータの位置を検出することと、ロボットマニピュレータの検出された位置に少なくとも部分的に基づいて、標的位置を調節することとを含む、
2016536150.tif 000002
【特許請求の範囲】
【請求項１】
標的を操作するためのロボットシステムであって、前記システムは、
ロボットマニピュレータと、
前記ロボットマニピュレータから物理的に分離し、前記標的を支持し、移動させる位置決めシステムと、
前記ロボットマニピュレータの位置を検出する追跡システムと、
前記追跡システムに応答して、前記追跡システムによって検出された前記ロボットマニピュレータの位置に少なくとも部分的に基づいて、前記標的の位置を調節するように前記位置決めシステムを制御するように構成されている、コントローラと
を備えている、システム。
【請求項２】
前記位置決めシステムは、
前記標的を支持するための移動可能プラットフォームと、
前記コントローラに応答して、前記標的位置を調節するために前記プラットフォームを移動させる少なくとも１つのアクチュエータと
を備えている、請求項１に記載のシステム。
【請求項３】
前記ロボットマニピュレータは、光源を備え、前記追跡システムは、撮像デバイスを備えている、請求項２に記載のシステム。
【請求項４】
前記光源は、ヒトの眼に見えるスペクトル外の光を生成する、請求項３に記載のシステム。
【請求項５】
前記位置決めシステムは、前記標的を第１の方向に平行移動させる第１のアクチュエータと、前記標的を第２の方向に平行移動させる第２のアクチュエータとを備え、前記第２の方向は、前記第１の方向と異なる、請求項２に記載のシステム。
【請求項６】
前記位置決めシステムは、前記標的を第３の方向に平行移動させる第３のアクチュエータをさらに備え、前記第３の方向は、前記第１および第２の方向と異なる、請求項５に記載のシステム。
【請求項７】
前記少なくとも１つのアクチュエータは、複数のアクチュエータであり、前記複数のアクチュエータのうちの少なくとも１つは、並進アクチュエータであり、前記複数のアクチュエータのうちの少なくとも１つは、回転アクチュエータである、請求項２に記載のシステム。
【請求項８】
前記コントローラは、前記標的位置を調節し、前記標的を前記ロボットマニピュレータと整列させるようにさらに構成されている、請求項１に記載のシステム。
【請求項９】
標的をロボット操作する方法であって、前記方法は、
前記標的の位置を決定することと、
ロボットマニピュレータを前記標的位置に大ざっぱに移動させることと、
前記ロボットマニピュレータの位置を検出することと、
前記ロボットマニピュレータの検出された位置に少なくとも部分的に基づいて、前記標的位置を調節することと
を含む、方法。
【請求項１０】
前記ロボットマニピュレータが、前記標的位置に大ざっぱに移動するための最適経路を決定することをさらに含む、請求項９に記載の方法。
【請求項１１】
前記最適経路は、前記移動の前の前記ロボットマニピュレータの位置と、前記標的位置とに少なくとも部分的に基づいて決定される、請求項１０に記載の方法。
【請求項１２】
前記最適経路は、第２の標的の位置に少なくとも部分的に基づいてさらに決定される、請求項１１に記載の方法。
【請求項１３】
前記標的位置調節の速度は、前記標的と、前記ロボットマニピュレータの検出された位置との間の距離に基づいて決定される、請求項９に記載の方法。
【請求項１４】
前記標的位置は、前記標的を前記ロボットマニピュレータと整列させるように調節される、請求項９に記載の方法。
【請求項１５】
ワークピースに対してタスクを実施するロボットシステムであって、
前記ワークピースを操作するロボットマニピュレータを備えているロボットと、
前記ロボットから物理的に分離したヘルパーシステムと
を備え、
前記ヘルパーシステムは、
（ａ）ワークピース、（ｂ）前記ワークピースを含む空間領域、または（ｃ）前記ロボットマニピュレータのうちの少なくとも１つの状態を感知する感知システムと、
前記感知システムに応答して、前記タスクを実施している前記ロボットを補助するように前記ヘルパーシステムを動作させるように構成されているコントローラと
を備えている、システム。
【請求項１６】
前記コントローラは、前記ワークピースを操作するように前記ヘルパーシステムを動作させるように構成されている、請求項１５に記載のシステム。
【請求項１７】
前記コントローラは、前記ワークピースを含む空間領域内の状態を改変するように前記ヘルパーシステムを動作させるように構成されている、請求項１５に記載のシステム。
【請求項１８】
前記コントローラは、前記ロボットマニピュレータと相互作用するように前記ヘルパーシステムを動作させるように構成されている、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の引用）
本願は、米国出願第６１／８８９，６３０号（２０１３年１０月１１日出願）への優先権および利益を主張し、上記出願の開示全体は、参照により本明細書に引用される。
【０００２】
（発明の分野）
本発明の実施形態は、概して、ロボットシステムに関し、特に、向上した正確度を伴うロボット配置および操作に関する。
【背景技術】
【０００３】
ロボットは、信頼性およびコスト削減を促進するために、多数の工業および製造環境にわたって展開されている。例えば、ロボットアームは、組立、梱包、検査等を含むタスクを実施するために、物体を移動させることができる。マニピュレータが、操作点が容易に調節され得るように、延長されたロボットアーム上に典型的に置かれる。しかしながら、延長されたロボットアームを通してマニピュレータを精密に制御することは、困難であり得る。例えば、マニピュレータは、有意な質量を典型的に有し、ロボットの根元関節にまで及ぶ望ましい精度を伴ってそのような負荷を支持するために、アームと根元関節との間の運動連鎖における各関節は、位置誤差に対して非常に厳格な公差内で動作する必要がある。言い換えると、運動連鎖における全ての関節は、標的における所望の精度と比較して、同じかまたはより良好な精度で動作しなければならない。例えば、アームの根元におけるモータの角度精度は、２メートルのロボットアームの端部に位置するマニピュレータが標的位置の１ミリメートル以内にあることを保証するために、０．０３度以内であることが要求される。そのような厳格な要件は、複雑性および高コストをもたらす。
【０００４】
加えて、ロボットシステムは、全体的なアームの動きの任意の可能な動的影響を減衰させるために、大きな力を適用する必要がある。軽量の標的を取り扱う簡単なタスクであっても、１ミリメートル未満または１度未満の精度を伴って標的を送達することは、依然として困難であり得る。例えば、単純な組立タスクにおいて、ねじは、２メートルのロボットアームの端部において、わずか数ミリグラムの重量となり得るが、ねじを送達するためのロボット機構は、完全に延長された場合に、それ自体（全てのモータ、ギヤボックス、および電子装置を含む）を支持し、全関節において精密な位置制御を維持し、加えて、運動連鎖におけるはね返り、曲がり、滑り、および累積誤差を補償することが可能でなければならない。これは、再び、ロボットシステムの設計複雑性および製造コストを著しく上昇させる。
【０００５】
従来、高精度標的操作を実施可能なロボットシステムは、所与のタスクに特殊化された部品および技法を利用する。これは、特有かつ注意深い設計を要求し、それによって、システム複雑性およびコストを上昇させるだけでなく、ロボットシステムの一般的可用性も限定する。その結果、特殊またはタスク特有構成要素もしくは技法の必要性なく、精密な標的操作を提供するロボットシステムの必要性がある。
【発明の概要】
【課題を解決するための手段】
【０００６】
種々の実施形態では、本発明は、特別またはタスク特有構成要素の必要性なく、精密なロボット動作を提供するためのシステムおよび方法に関する。一実装では、ロボットマニピュレータから物理的に分離した空間調節システムは、標的ワークピースを支持し、ロボットマニピュレータと協働し、高空間精度を伴うタスクを実施する。動作中、ロボットシステムは、最初に、ロボットマニピュレータを、標的の近傍に大ざっぱに移動させる。空間調節システム内の、またはそれと協働する追跡システムが、ロボットマニピュレータの位置を精密に検出し、情報をコントローラに伝送することができる。コントローラは、次いで、空間調節システム内の１つ以上のアクチュエータに、ロボットマニピュレータの検出された位置に基づいて、標的の位置を調節するように命令する。空間調節システムは、高空間精度を伴って、標的ワークピースをロボットマニピュレータに整列させることができるため、本タスクは、ロボットアームと根元関節との間の運動連鎖における全てのロボット関節が、位置誤差の限定された公差内で動作することを要求することなく、正確に実施される。故に、本発明は、容易かつ経済的に製造され得る、ロボットシステムのための正確な標的操作を提供する。
【０００７】
故に、第１の側面では、本発明は、標的を操作するためのロボットシステムに関連する。種々の実施形態では、本システムは、ロボットマニピュレータと、ロボットマニピュレータから物理的に分離し、標的を支持し、移動させる位置決めシステムと、ロボットマニピュレータの位置を検出する追跡システムと、追跡システムに応答して、少なくとも部分的に、追跡システムによって検出されたロボットマニピュレータの位置に基づいて、標的の位置を調節するように位置決めシステムを制御するように構成されている、コントローラとを備えている。
【０００８】
種々の実施形態では、位置決めシステムは、標的を支持するための移動可能プラットフォームと、コントローラに応答して、標的位置を調節するためにプラットフォームを移動させる少なくとも１つのアクチュエータとを備えている。例えば、ロボットマニピュレータは、光源を備え得、追跡システムは、撮像デバイスを備え得、いくつかの実装では、光源は、ヒトの眼に見えるスペクトル外の光（例えば、赤外波長帯における）を生成する。
【０００９】
位置決めシステムは、標的を第１の方向に平行移動させる第１のアクチュエータと、標的を第２の方向に平行移動させる第２のアクチュエータとを備え得、第２の方向は、第１の方向と異なる（例えば、それと直交する）。いくつかの実施形態では、位置決めシステムは、標的を第３の方向に平行移動させる第３のアクチュエータをさらに備え、第３の方向は、第１および第２の方向と異なる（例えば、それらと直交する）。アクチュエータの１つ以上のものは、並進アクチュエータであり得、アクチュエータの１つ以上のものは、回転アクチュエータであり得る。さらなるアクチュエータが、必要に応じて、本システムに追加され得る。例えば、いくつかの実施形態では、完全な並進および回転調節を達成するために、３つの並進および３つの回転アクチュエータが、合同で使用され得る。コントローラは、標的をロボットマニピュレータと整列させるように、標的位置を調節するようにさらに構成され得る。
【００１０】
別の側面では、本発明は、標的をロボット操作する方法に関する。種々の実施形態では、本法は、標的の位置を決定することと、ロボットマニピュレータを標的位置に大ざっぱに移動させることと、ロボットマニピュレータの位置を検出することと、少なくとも部分的に、ロボットマニピュレータの検出された位置に基づいて、標的位置を調節することとを含む。種々の実施形態では、本方法は、ロボットマニピュレータが、標的位置に大ざっぱに移動するための最適経路を決定することをさらに含む。「最適」というのは、概して、最も効率的、例えば、移動の無駄が最も少ないことを意味する。例えば、最適経路は、少なくとも部分的に、移動の前のロボットマニピュレータの位置と、標的位置とに基づいて決定され得、また、マニピュレータによってアクセスされるべき複数の標的の存在を考慮し得る。標的位置が調節される速度は、標的と、ロボットマニピュレータの検出された位置との間の距離に基づいて決定され得る。標的位置は、標的をロボットマニピュレータと整列させるように、調節され得る。
【００１１】
さらに別の側面では、本発明は、ワークピースに対してタスクを実施するロボットシステムに関連する。種々の実施形態では、本システムは、ワークピースを操作するロボットマニピュレータを備えているロボットと、ロボットから物理的に分離し、ワークピース、ワークピースを含む空間領域、および／またはロボットマニピュレータの状態を感知するための感知システムを備えている、ヘルパーシステムと、感知システムに応答して、タスクを実施しているロボットを補助するようにヘルパーシステムを動作させるように構成されている、コントローラとを備えている。
【００１２】
種々の実施形態では、コントローラは、ワークピースを操作するようにヘルパーシステムを動作させるように構成される。例えば、コントローラは、ヘルパーシステムを動作させ、ワークピースを含む空間領域内の状態を改変するように、および／またはロボットマニピュレータと相互作用するように構成され得る。当然ながら、位置決め以外の標的の操作、例えば、鋸断、キャップの螺合、袋の密封、力の適用、力を用いた保持等も、本発明の範囲内である。
【図面の簡単な説明】
【００１３】
前述の議論は、以下の付随の図面と併せて検討されるとき、以下の本発明の詳細な説明からより容易に理解されるであろう。
【図１】図１は、本発明の実施形態による、ロボットシステムを図式的に描写する。
【図２】図２は、本発明の実施形態による、ロボットマニピュレータを訓練する代表的方法を描写する、フローチャートである。
【図３Ａ】図３Ａ−３Ｃは、本発明の実施形態の動作を図式的に描写する。
【図３Ｂ】図３Ａ−３Ｃは、本発明の実施形態の動作を図式的に描写する。
【図３Ｃ】図３Ａ−３Ｃは、本発明の実施形態の動作を図式的に描写する。
【図４】図４は、本発明の実施形態による、タスクを実施するための代表的方法を描写する、フローチャートである。
【図５】図５は、本発明の実施形態による、コントローラを図式的に描写する。
【発明を実施するための形態】
【００１４】
高精度ロボット動作を提供するために、ロボットマニピュレータ１０２を有するロボット１０１等のロボットシステムと協働する、空間調節システム１００の例示的実施形態を例証する、図１を最初に参照する。例えば、ロボットシステム１０１は、例えば、両方とも２０１２年９月１７日に出願された、米国第１３／６２１，６５８号および第１３／６２１，６５７号（その全開示が、参照することによって本明細書に組み込まれる）に説明されるようなロボットであり得る。
【００１５】
種々の実施形態では、空間調節システム１００は、ロボットマニピュレータ１０２の位置を検出する追跡システム１０４と、標的１０８を支持し、移動させる位置決めシステム１０６とを含む。一実装では、追跡システム１０４は、２つのセンサを含み、センサ１０４ｘは、ｘ軸位置を検出するためであり、センサ１０４ｙは、ｙ軸位置を検出するためである。センサ１０４は、ロボットアーム１０２またはその一部の変化している位置を検出する。センサ１０４は、それらの検出範囲が、少なくとも位置決めシステム１０６と同じ広がりをもつ作業領域と重複し、それを包含するように向けられる。センサ１０４は、ロボットマニピュレータ１０２上に位置するツールチップマーカー１１０によって伝送または反射される信号を検出し、その後、検出された情報（例えば、信号振幅）をロボットマニピュレータ１０２の位置を決定するコントローラ１１２に提供し得る。センサ１０４は、従来型の光学センサ、音響センサ、超音波センサであるか、または、ツールチップマーカー１１０によって生成される信号を捕捉し、デジタルデータの形態で信号を表すか、もしくは従来型の画像取得および認識ソフトウェアを使用して、ツールチップマーカー１１０を光学的に検出および認識することが可能である任意のタイプのデバイスであり得る。いくつかの実施形態では、位置決めシステム１０６は、標的１０８を支持するための移動可能プラットフォーム１１４と、標的位置を動的に調節するためにプラットフォーム１１４を移動させるための１つ以上のアクチュエータ１１６（例えば、ステッパモータまたはブラシレスモータ）とを含む。例えば、アクチュエータ１１６は、プラットフォームをｘおよびｙ軸に沿って、および用途に応じてｚ（垂直）軸に沿って、漸増的に独立して移動させ、および／または１つ以上の軸に対してプラットフォームの向きを変化させ得る。いくつかの実施形態では、センサは、移動可能プラットフォーム１１４に堅く取り付けられる。
【００１６】
一実施形態では、ツールチップマーカー１１０は、赤外線（ＩＲ）ＬＥＤマーカーであり、センサは、ＩＲ感知カメラである。ＩＲカメラは、任意の便利な様式で配列され得る。例えば、ＩＲカメラは、それらの光軸が交差し、それらの光軸がアクチュエータ１１６のそれぞれの動作方向とほぼ平行であるように、位置決めされ得る。加えて、アクチュエータ１１６は、各々がプラットフォーム１１４の独立した並進自由度を制御できるように構成され得る（例えば、ｘおよびｙ軸が互に直交する場合、１つのアクチュエータ１１６ｘは、ｘ軸位置を調節し、別のアクチュエータ１１６ｙは、ｙ軸位置を調節する）。これは、有利には、カメラ１０４に対する相対的な較正を実施する必要性を排除し、プラットフォーム１１４の２つの並進自由度に関する、独立した分離制御を可能にする。ｘおよびｙ方向は、必ずしも互に直交せず、それらは、それらが互に平行でない限り、任意の方向に沿って延び得ることに留意されたい。加えて、図１は、水平面においてｘおよびｙ並進方向に動作する２つのアクチュエータ１０６を描写するが、任意の数の並進および／または回転アクチュエータの組み合わせが、空間調節システム１００内に実装されることができる。例えば、アクチュエータ１０６は、３つの並進自由度および３つの回転自由度を提供し得る。
【００１７】
種々の実施形態では、所与のタスクを実施することに先立って、コントローラ１１２は、望ましい標的位置を規定する訓練モードに入り、この情報は、ロボットシステムに提供され、ロボットシステムは、それに基づいてマニピュレータ１０２を移動させる。より具体的には、オペレータは、最初に、ロボットマニピュレータ１０２を、ロボットワークスペース内の種々の重要位置（またはウェイポイント）に手動で向かわせ得る。例えば、オペレータは、ロボットマニピュレータ１０２を、事前決定された場所に位置する標的ワークピース１０８と整列させ、例えば、ロボットシステム上のボタンを押すことによって、ロボットマニピュレータ１０２がその理想的操作位置内にあることを示し得る。ロボットシステムは、それに応じて、コントローラ１１２に信号伝送し、コントローラ１１２は、ツールチップマーカー１１０を起動させ、そこから伝送／反射された信号に基づいて、追跡システム１０４に、ツールチップマーカー１１０の位置を識別させる。ツールチップマーカー１１０の決定された位置と対応する標的のインデックスとは、次いで、その後にタスクを実施するために、コントローラ１１２のメモリ内に記憶され得る。
【００１８】
図２は、本発明の実施形態による、ロボットマニピュレータ１０２および空間調節システム１００を訓練する代表的方法２００を描写する。第１のステップ２０２では、コントローラ１１２は、訓練手順を開始するために、訓練モードに設定される。第２のステップ２０４では、コントローラ１１２は、「０」のインデックスから開始する第１の標的ワークピースを記録する。第３のステップ２０６では、オペレータは、ロボットマニピュレータ１０２を移動させ、第１の標的と整列させ、他の標的が存在するかどうかを示すために、ボタンを押す。さらなる標的が存在しない場合、コントローラ１１２は（第４のステップ２０８および第５のステップ２１０において）、メモリ内に、ウェイポイント（または理想的最終位置）としてマニピュレータ１０２の検出された位置を記録し、タスク実行モードに切り替え、それによって、現在の訓練プロセスを終了する。しかしながら、別の標的が存在する場合、コントローラ１１２は（第６のステップ２１２において）、メモリ内に、（再び、ウェイポイントとして）マニピュレータ１０２の検出された位置と、現在の標的インデックスとの両方を記録し、標的インデックスを漸増的に増加させる。オペレータは、次いで、ロボットマニピュレータ１０２を移動させ、次の標的と整列させ、前述のアプローチを使用してさらなる標的が存在するかどうかを示す。
【００１９】
図３Ａおよび３Ｂを参照すると、タスク実行モードにおいて、コントローラ１１２は、最初に、訓練中に記憶された位置情報に基づいて、ロボットマニピュレータ１０２を、最低インデックス数を伴う標的３００（または任意の望ましい／識別された標的）の位置の可能な限り近くに（すなわち、ロボットシステムの精度によって限定されるように）移動させる。追跡システム１０４内のセンサが、次いで、ツールチップマーカー１１０を（例えば、それによって生成／反射される信号を介して）検出し、ロボットマニピュレータ１０２の実際の位置を決定するために、起動される。コントローラ１１２は、ツールチップマーカー１１０（またはロボットマニピュレータ１０２）の実際の位置と、ウェイポイント位置との間の位置差を減少させるために、ツールチップマーカー１１０の検出された実際の位置を、（訓練中に確立された）ロボットマニピュレータ１０２の記憶されたウェイポイント位置と比較し、位置決めシステム１０６が（アクチュエータ１１６ｘ、１１６ｙ、１１６ｚを介して）とる必要がある動きの経路および／またはステップの数を決定する。コントローラ１１２（図１を参照されたい）、追跡システム１０４、および位置決めシステム１０６は、閉ループフィードバックシステムを形成するため、位置差は、ロボットマニピュレータ１０２の移動中に、連続的かつ反復的に減少され得る。位置決めシステム１０６を介して標的位置を調節するための動きの経路および／またはステップの数の厳密な解決は、必要ではない。すなわち、位置差が減少するにつれて、コントローラ１１２は、位置決めシステム１０６に、ロボットマニピュレータ１０２および標的３００が（想像線で示される位置決めシステムの元々の位置を伴う）図３Ｃに描写されるように精密に整列されるまで、漸次的により少ないステップをとるように命令し得る。ロボットマニピュレータ１０２は、その後、所与のタスクを実施し得る。現在の標的に対するタスクが実行されると、ロボットマニピュレータ１０２は、前述のアプローチを使用して、操作のために次の標的に移動し得る。
【００２０】
空間調節システム１００は、ロボットマニピュレータ１０２の位置を精密に決定し、それに基づいて標的位置を調節することができるため、本発明は、巨大なロボット付属品に関する微細制御の必要性なく、空間精度を提供する。加えて、空間調節システム１００は、ロボットシステムから物理的に分離しているため、精度は、ロボットシステムのための任意の特別な構成要素もしくは設計を利用すること、またはロボットへの追加の負荷なしに達成される。本アプローチの利点はまた、位置誤差を排除するために、精密かつ迅速な様式において位置決めシステム１０６を恣意的に移動させる能力と、一方はオンボードであり他方はロボットから物理的に離れた２つのタイプの位置制御を調整する能力と、製造の容易さおよび経済性とを含む。
【００２１】
例示的用途では、ロボットマニピュレータ１０２は、物体におけるねじ孔にねじを締めるようにプログラムされる。ねじおよび／または物体は、最初に、位置決めシステム１０６の移動可能プラットフォーム１１４上に置かれる。空間調節システム１００およびロボットマニピュレータ１０２は、次いで、ロボットマニピュレータ１０２のウェイポイント（すなわち、ねじを取り上げるための位置および／またはねじ孔の位置）を決定して、タスクを実行するために、訓練モードにおいて動作される。タスクを単純化するために、在庫ねじフィーダが、ねじを取り上げるために使用され得る。いったんねじがフィーダから取り上げられると、コントローラ１１２は、どのねじ孔が第１のウェイポイントとして指定されるかを決定するために、空間調節システム１００と通信し、ロボットマニピュレータ１０２を、標的ねじ孔の可能な限り近く（ロボット粗調節の限界内）に移動させる。ロボットマニピュレータ１０２の現在の位置と、標的位置との間の差異が決定された後、コントローラ１１２は、標的（例えば、ねじ孔）をプラットフォーム１１４によって移動させ、マニピュレータ１０２の端部に位置するねじと整列させる。プラットフォーム１１４は、ロボットマニピュレータ１０２の軌道を動的に辿り、ねじとねじ孔の接触が成されるまで、ウェイポイントとロボットマニピュレータ１０２との間の距離に比例する速度において移動し得る。ロボットマニピュレータ１０２上の力センサが、締めるプロセスを監視し、コントローラ１１２にねじ挿入の完了を報告し得る。ロボットマニピュレータ１０２は、次いで、現在のねじ孔から引き出され、次のねじ孔（すなわち、訓練中に確立された次のウェイポイント）に移動させられる。本プロセスは、ねじ孔のインデックスが、メモリ内に記憶された最大インデックスもしくはタスクの終了を示す任意のインデックス数に等しくなる、またはロボットシステムが、オペレータによって手動で停止されるときまで、繰り返し得る。
【００２２】
ねじ孔内にねじを締めること等のタスクを実施するための代表的方法４００が、図４に描写される。ステップ４０２では、コントローラ１１２は、タスクを開始するために、実行モードに設定される。ステップ４０４では、インデックスは、タスクの開始を示す「０」に設定され、タスクの完了を示すパラメータ「ｐａｒｔＤｏｎｅ」が、「偽」として設定される。ステップ４０６では、コントローラ１１２は、現在の標的インデックスが、タスクの終了を示すインデックスのものに等しいかどうかをチェックする。インデックスが等しい場合、ｐａｒｔＤｏｎｅは（ステップ４０８において）、「真」として設定され、ロボットシステムは（ステップ４１０において）、任意のさらなる標的操作を実施しない。インデックスが等しくない場合、ロボットシステムは、ねじがロボットマニピュレータ１０２によって保持されているかどうかをチェックする（ステップ４１２）。保持されていない場合、コントローラは、ねじが回復されるようにし（ステップ４１４）、保持されている場合、コントローラ１１２、ロボットマニピュレータ１０２、および空間調節システム１００は、前述のアプローチを使用して、所与のタスクを実施するために、協働する（ステップ４１６）。ねじがねじ孔内に確実に締められていると確認した後（ステップ４１８）、標的インデックスは、１だけ増加され（ステップ４２０）、マニピュレータ１０２は、後続標的に対してタスクを実施するために移動させられる。
【００２３】
ねじの先端を位置決めする精度は、ねじ孔を有する物体の上部表面形状、ねじの長さ、およびツールチップマーカー１１０とねじ先端との間の距離等、多くの要因によって影響を受け得る。例えば、ねじ孔を有する物体の形状は、物体がツールチップマーカー１１０に接近し過ぎて位置する場合、ツールチップマーカー１１０から伝送される信号が、追跡システム１０４内のセンサによって検出されることを阻害し得る。これは、ねじ先端位置決めにおいて幾何学誤差をもたらし得る。種々の実施形態では、ツールチップマーカー１１０と、物体３００の上部表面との間の垂直（ｚ軸）距離は、ロボットマニピュレータ１０２を標的近くに移動させるための軌道を作成するために、ツールチップの理想的最終位置（すなわち、標的３００の位置）とともに考慮される。一実装では、訓練モード中、ロボットアームがその理想的最終位置にもって来られた後、ロボットアームは、そこから離れて直接後退することを可能にされ、後退軌道は、記録される。コントローラ１１２は、次いで、記録された軌道への線形適合を実施し、線形後退軌道に関連付けられるパラメータを推定し、メモリ内に、最終所望位置とともにパラメータを記憶する。タスク実行モード中、追跡システム１０４が、ツールチップマーカー１１０から伝送／反射される信号を検出できない場合、ロボットマニピュレータ１０２は、信号が再び検出されるまで、事前決定された線形軌道を辿ってもよい。
【００２４】
線形アプローチに関連付けられるパラメータを決定するために、水平面におけるツールチップ１１０の位置は、標的上方のその高さに線形に依存すると仮定される。ｘおよびｙの両方の水平方向は、制御および感知において分離されるので、各水平位置における変化は、ｘ軸およびｙ軸モータに関する独立した制御パラメータに到着するために、他の水平位置における変化から独立して説明されることができる。例として、ｘ水平方向における移動が、算出され、ｙ軸モータ制御パラメータを導出するために、同じ計算が、全く同じ方法でｙ方向に対して繰り返されることができる。ｘ水平方向とツールチップの高さとの間の関係は、以下のように与えられる。
【００２５】
【数１】
2016536150.tif 000003
【００２６】
式中、ｚおよびｘは、それぞれ、高さおよび水平位置である。線形パラメータａおよびｂは、標的位置から孔上方の初期線形経路の開始における位置にロボットアームを垂直に上昇させることによって訓練中に収集されるいくつかの位置点に基づいて決定され得る。
【００２７】
インデックスｉと、追跡センサの検出範囲内のＮ個の軌道点とを伴う各標的に対して、２つの行列が、水平および垂直座標（ｘおよびｚ）において以下のように表されることができる。
【００２８】
【数２】
2016536150.tif 000004
【００２９】
【数３】
2016536150.tif 000005
【００３０】
式中、方程式（３）は、同次座標系における垂直座標を表す。方程式１は、次いで、以下のように、全ての収集された点に対して同時に書き換えられることができる。
【００３１】
【数４】
2016536150.tif 000006
【００３２】
これは、優決定線形系に対する基準解につながり、第ｉ番目の標的に対する線形アプローチのパラメータを以下のように与える。
【００３３】
【数５】
2016536150.tif 000007
【００３４】
その結果、タスク実行モード中、第ｉ番目の標的への線形軌道を説明するパラメータは、最終所望位置とともに読み出され得る。ロボットマニピュレータ１０２の移動中、コントローラ１１２は、現在のツールチップ位置ｘ（ｔ）を、決定された理想的線形経路上に投影することによって、ツールチップ位置（ｘ（ｔ）；ｚ（ｔ））の動的調節を計算し得る。この投影は、したがって、コントローラ１１２に、ロボットマニピュレータ１０２がそれを通って移動するための、中間「標的」位置を提供する。これは、ロボットマニピュレータ１０２が、ただ最終理想的位置に向かうのではなく、理想的線形軌道に基づいて進行することを可能にする。故に、線形軌道は、例えば、いくつかの構成要素によって妨げられるツールチップマーカー１１０からの信号、またはロボットアーム制御システム内のわずかな不安定性、センサとアクチュエータ１１６との間の固有の不整列等に起因するロボットマニピュレータ１０２の突然の位置変化によって生じる、ロボットマニピュレータ１０２の失敗を回避する。
【００３５】
例えば、ツールチップマーカー１１０の測定された垂直位置ｚ（ｔ）に対して、この高さにおいて辿られる理想的水平位置
（ｔ）は、以下のように与えられ得る。
【００３６】
【数６】
2016536150.tif 000008
【００３７】
この位置は、ツールチップマーカー１１０のこの理想的位置と実際の水平位置との位置差を最小限にするために、プラットフォーム１１４をあるステップ数Ｋだけ移動させることによって合致させられ得、ステップの数Ｋは、以下のように決定され得る。
【００３８】
【数７】
2016536150.tif 000009
【００３９】
式中、
は、速度ゲインであり、これは、ツールチップマーカー１１０から標的への距離に関連する定数または関数である。したがって、方程式（７）は、位置決めシステム１０６が、位置誤差を最小限にするために移動する必要がある、ステップの数Ｋについての情報を提供する。この調節プロセスは、マニピュレータ１０２が、標的の上部表面に到達するまで繰り返し得る。
【００４０】
より一般的には、本発明の原則は、ロボットとは物理的に別個であるが、タスクを実行する際にロボットを補助する、「ヘルパー」システムに適用され得る。例えば、前述されるプラットフォーム移動システムは、ワークピースを、具体的には、ロボットのマニピュレータに対するその位置を操作する、ヘルパーである。他の実施形態では、ヘルパーシステムは、異なる方法で（例えば、関連付けられた温度センサによって成される温度測定に基づいてワークピースを加熱または冷却して）ワークピースを操作し得るか、またはワークピースを含む空間領域内の状態を改変し得、再び、これは、例えば、対流空気流を使用して、領域を加熱または冷却することを伴い得る。さらに他の実施形態では、ヘルパーシステムは、ロボットマニピュレータと、例えば、その位置を微細調節する、動作のためにそれを準備する等によって（例えば、付属品を覆うことによって）、相互作用する。したがって、ヘルパーシステムは、それが実行する機能または複数の機能に関連する、任意の好適なセンサおよびアクチュエータを具備し得る。
【００４１】
本明細書に説明されるコントローラ１１２は、ロボットシステム、空間調節システム、またはロボットおよび空間調節システムの外部のシステムにおいて実装され得る。加えて、コントローラ１１２は、ソフトウェア、ハードウェア、またはそのある組み合わせにおいて実装され得る。例えば、本システムは、１つ以上のプロセッサを含むＣＰＵボードを有するＰＣ等、１つ以上のサーバクラスコンピュータ上に実装され得る。本明細書に説明されるメモリは、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、プログラマブル読み取り専用メモリ（ＰＲＯＭ）、またはプログラマブル論理デバイス（ＰＬＤ）等の一般的に利用可能なハードウェア上に常駐するランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、および／またはフラッシュメモリを含み得る。いくつかの実施形態では、本プログラムは、光学ディスク、磁気ディスク等の外部ＲＡＭおよび／またはＲＯＭだけでなく、他の一般的に使用される記憶デバイスを使用して提供され得る。
【００４２】
コントローラ１１２がソフトウェアプログラムとして提供される実施形態に関して、本プログラムは、ＦＯＲＴＲＡＮ、ＰＡＳＣＡＬ、ＪＡＶＡ（登録商標）、Ｃ、Ｃ＋＋、Ｃ＃、ＬＩＳＰ、ＰＥＲＬ、ＢＡＳＩＣ、ＰＹＴＨＯＮ、または任意の好適なプログラミング言語等のいくつかの高級言語のうちの任意の１つで書き込まれ得る。
【００４３】
概して、図５の５００において示される、代表的制御システムが、前述の機能を実施するために、プログラム命令を実行する。システム５００は、中央処理装置（「ＣＰＵ」）５０２と、概して、５０４、５０６において示される、１つ以上のコンピュータ記憶デバイスとを含む。通常、記憶デバイス５０４は、不揮発性大容量記憶装置を提供し、例えば、ＥＥＰＲＯＭ、フラッシュＲＯＭ、ハードディスク、またはＣＤ−ＲＯＭドライブであり得、記憶装置５０６は、一時的記憶および処理のための揮発性ＲＡＭと、本システムの動作命令の恒久的側面を含む不揮発性ＰＲＯＭとの組み合わせから成る。システム５００はさらに、ロボットアーム１０２（またはロボット１００）に（無線で、またはケーブルを介して）接続される、Ｉ／Ｏモジュール５１０ａと、位置決めシステム１１６と通信する、５１０ｂとを含む、複数の入力／出力（Ｉ／Ｏ）モジュールを含む。これらのＩ／Ｏモジュールは、コントローラ５００が、ロボットアームおよび位置決めシステムの状態を感知し、それらに制御信号を送信することを可能にする。コントローラ５００の種々の内部構成要素は、双方向性システムバス５２０を経由して相互通信する。コントローラ５００はまた、同じくバス５２０に接続され、オペレータがコントローラをプログラムし、および／または情報を入力することを可能にする、１つ以上の入力デバイス５２５も備えている。
【００４４】
記憶装置５０６は、ＣＰＵ５０２の動作を通して、前述されるようなコントローラ５００によって実施される機能を実装する、一連の機能ブロックまたはモジュールを含む。制御ブロック５４０は、Ｉ／Ｏモジュール５１０ａを介して位置決めシステム１１６を動作させるためのコンピュータ実行可能命令を含む。記憶装置５０６はまた、メモリ分配、ファイル管理、および記憶デバイス５０４の動作等の低レベルの基本システム機能と、オペレータとの簡単な相互作用を促進する、ユーザインターフェース５５５を定義する命令との実行を命令する、オペレーティングシステム５５０を含み得る。ネットワークインターフェース５６０が、遠隔ネットワークまたはネットワークホストを介して、コントローラ５００との通信を促進する。
【００４５】
本明細書に使用されるように、「ほぼ」という用語は、±１０％を意味し、いくつかの実施形態では、±２０％を意味する。本明細書全体を通して、「一実施例」、「ある実施例」、「一実施形態」、または「ある実施形態」の言及は、実施例と関係して説明される特定の特徴、構造、または特性が、本技術の少なくとも１つの実施例に含まれることを意味する。したがって、本明細書全体を通した種々の箇所における「一実施例では」、「ある実施例では」、「一実施形態」、または「ある実施形態」という語句の出現は、必ずしも全てが同じ実施例を指すわけではない。その上さらに、特定の特徴、構造、ルーチン、ステップ、または特性は、本技術の１つ以上の実施例において、任意の好適な様式で組み合わせられ得る。本明細書に提供される表題は、便宜上のためだけのものであり、請求される技術の範囲または意味を限定または解釈することは意図されない。
【００４６】
本明細書に採用される用語および表現は、限定ではなく、説明の用語および表現として使用され、そのような用語および表現の使用において、示され、説明される特徴の任意の均等物またはその一部を除外する意図はない。加えて、本発明のある実施形態を説明しているが、本明細書に開示される概念を組み込む他の実施形態が、本発明の精神および範囲から逸脱することなく使用され得ることが、当業者に明白となるであろう。故に、説明される実施形態は、あらゆる点で例証的にすぎず、制限的ではないと見なされる。
【図３Ａ】
2016536150.tif 000010
【図１】
2016536150.tif 000011
【図２】
2016536150.tif 000012
【図３Ｂ】
2016536150.tif 000013
【図３Ｃ】
2016536150.tif 000014
【図４】
2016536150.tif 000015
【図５】
2016536150.tif 000016
【国際調査報告】
2016536150.tif 000017
2016536150.tif 000018