ロボットマニピュレータを備え且つ構造化されていない作業空間で動作する、力制御されるまたはインピーダンス制御されるロボットを制御する方法であって、前記方法は、前記ロボットマニピュレータにより周囲の環境に付与される静的な力に自動的に上限を課し、静的な力が常に前記上限を超えることができないようにするステップを有する、方法。請求項1に記載の方法であって、前記上限は、前記ロボットマニピュレータのロボットジョイントにおける少なくとも1つのトルク、および、前記ロボットマニピュレータ上の選択されたポイントにおけるデカルト力およびモーメント、の少なくとも1つに関して定義される、方法。請求項1に記載の方法であって、さらに、前記ロボットマニピュレータが前記構造化されていない作業空間内で物体に接触するときに、前記ロボットマニピュレータと前記物体との間の接触力を決定するステップと、前記接触力が較正された閾値を超えるときに、前記マニピュレータの動的な反射作用を自動的に実行するステップと、を有する方法。請求項3に記載の方法であって、さらに、前記ロボットマニピュレータのダイナミクスのモデリング、および接触力が前記較正された閾値を超えたときの検出の少なくとも1つを用いて物体との接触を同定するステップを有する、方法。請求項3に記載の方法であって、さらに、前記接触力を検出する外受容性検出を用いるステップを有する、方法。請求項3に記載の方法であって、さらに、前記接触力が前記較正された閾値よりも小さくなったときに、前記動的な反射作用を中断するステップを有する、方法。請求項3に記載の方法であって、前記ロボットマニピュレータは、ジョイントアクチュエータを介して移動可能なロボットジョイントを含み、前記方法はさらに、前記ジョイントアクチュエータから前記ロボットジョイントに付与される反射作用トルクを自動的に計算するステップと、前記ロボットジョイントに前記反射作用トルクを与えるステップと、を有する方法。請求項7に記載の方法はさらに、前記反射作用トルクを計算するときに、前記ロボットマニピュレータに作用する重力およびコリオリ力の少なくとも1つを自動的に補償するステップを有する、方法。ロボットシステムであって、ロボットマニピュレータおよび構造化されていない作業空間を備える、力制御されるまたはインピーダンス制御されるロボットと、前記ロボットマニピュレータに電気的に接続されるコントローラと、を有し、前記コントローラは、力ベースまたはインピーダンスベースの命令を用いて前記ロボットマニピュレータを制御するように構成され、前記コントローラは、前記マニピュレータにより周囲の環境に付与される静的な力に上限を課し、前記静的な力が前記上限を超えることができないようにする、ロボットシステム。請求項9に記載のロボットシステムであって、前記上限は、前記ロボットマニピュレータのジョイントにおけるトルク、および、前記ロボットマニピュレータ上の選択されたポイント上でのデカルト力およびモーメント、の少なくとも1つに関して定義される、ロボットシステム。請求項9に記載のロボットシステムであって、前記コントローラは、前記ロボットマニピュレータが作業空間内で較正された閾値を超える接触力で物体に接触したときに、前記マニピュレータの動的な反射作用を自動的に実行する、ロボットシステム。請求項11に記載のロボットシステムであって、前記コントローラは、前記ロボットマニピュレータのダイナミクスのモデリング、および、前記接触力が較正された閾値を超えたときを検出すること、の少なくとも1つを用いて、前記ロボットマニピュレータと前記物体との間の接触を同定する、ロボットシステム。請求項11に記載のロボットシステムであって、前記コントローラは、前記接触力が前記較正された閾値よりも小さくなったときに、自動的に動的反射作用を中断する、ロボットシステム。請求項11に記載のロボットシステムであって、前記ロボットは、ジョイントアクチュエータを介して移動可能なロボットジョイントを含み、前記コントローラは、前記ジョイントアクチュエータにより前記ロボットジョイントに与えられる反射作用トルクを計算し、前記ロボットジョイントからの前記反射作用トルクを動的反射作用として命令する、ロボットシステム。ロボットマニピュレータを備え、構造化されていない作業空間内で動作する、力制御されるまたはインピーダンス制御されるロボットのためのコントローラであって、前記コントローラは、静的な力が常に上限を超えることができないようにするように、前記ロボットマニピュレータにより周囲の環境に付与される静的な力に自動的に上限を課すようにプログラムされるホストマシンを含む、コントローラ。請求項15に記載のコントローラであって、前記上限は、前記ロボットマニピュレータのジョイントにおけるトルク、および、前記ロボットマニピュレータの選択されたポイントにおけるデカルト力またはモーメント、の少なくとも1つに関して定義される、コントローラ。請求項15に記載のコントローラであって、前記ホストマシンは、前記ロボットマニピュレータが較正された閾値を超える接触力で物体に接触するときに、選択的に前記ロボットマニピュレータの動的な反射作用を実行する、コントローラ。請求項17に記載のコントローラであって、前記ホストマシンは、前記ロボットマニピュレータのダイナミクスのモデリング、および前記接触力が前記較正された閾値を超えたときを検出すること、の少なくとも1つを用いて、前記ロボットマニピュレータと前記物体との間の接触を同定する、コントローラ。請求項17に記載のコントローラであって、前記コントローラは、前記接触力が前記較正された閾値より小さくなったときに、前記動的反射作用を中断する、コントローラ。請求項17に記載のコントローラであって、前記マニピュレータは、ジョイントアクチュエータを介して移動可能なロボットジョイントを含み、前記コントローラは、前記ジョイントアクチュエータにより前記ロボットジョイントに与えられる反射作用トルクを自動的に計算することにより前記動的反射作用を決定し、前記ロボットジョイントから前記反射作用トルクを動的反射作用として命令する、コントローラ。0004人間による使用のために特別に設計された装置またはシステム、すなわち、適切な操作に人間のようなレベルの器用さを必要とする装置による直接的な相互作用が必要な場面で、器用なロボットが使用されることがある。また、ロボットの動作が人間の動作を模倣するようにプログラムすることができ、人間の操作者に直接的な相互作用が必要な場面において、器用なロボットの使用が好ましいことがある。そのようなロボットは、典型的には、よく画定された、または構造化された作業空間内で動作するように構成される。しかし、ある発展的な用途において、指定された作業空間は相対的に制限的であり、および/または構造化されておらず、また、他の人間の操作者と共有されることがある。そのような動作環境において、作業空間内で、ロボットのマニピュレータと物体および/または人間の操作者との接触が発生する可能性が増大する。0005よって、本明細書において、ロボットシステム内で力制御されるまたはインピーダンス制御される器用なロボットを制御するための方法が開示される。そのようなロボットは、1つ以上のロボットマニピュレータを備えることができる。各マニピュレータは、力ベースまたはインピーダンスベースの制御フレームワークを介して構造化されていない作業スペース内で動作する。本明細書において、力ベースおよびインピーダンスベースとの語は、様々なロボットジョイントおよびマニピュレータを通じて移動および力を提供するために、それぞれの力およびインピーダンスの命令およびフィードバック信号に依存するロボットの制御を指す。0006本発明は、常に、与えられたロボットマニピュレータにより命令される静的な力/トルクに、自動的に周囲の環境に対する上限を課す。それゆえ、作業空間において、ロボットマニピュレータが予期せずに物体に接触する場合、マニピュレータにより付与される静的な力が限界付けられまたは境界つけられる。物体の接触に際して、ロボットマニピュレータは、物体に遭遇した後に物体と戦うことなく、割り当てられた作業タスクを進行する。本制御戦略のこのフェーズは、接触を検出することに依存せず、代わりに、常に静的な力を制限するために、本明細書に開示される内受容検出proprioceptivesensingを用いる。0007静的な力は境界つけられまたは上限が制限されるが、ロボットのマニピュレータが運動中のときのシステムの運動量により、マニピュレータは接触時により大きな動的な力を与え得る。制御戦略の他のフェーズは、それゆえ、物体との接触力の閾値において予め決定された動的な反射作用reflexを自動的に実行することを含む。動的な反射作用は接触の慣性インパルスを緩和し、これは上限が限界付けられた静的な力では対処されていない。動的な反射作用は、接触を検出するために、動的なモデリングおよび/または外受容性の検出exteroceptivesensingに基づくことができ、すなわち、接触を物理的に検出し、接触を同定するために、ロボットが構造の外側が起因の刺激を受けてこれに応答する。このようにして、ロボットは、マニピュレータへの慣性衝撃を減少させることができ、さもなくば、マニピュレータの質量および/または上限スピードを減少させることによってしか対処することができない。0008本明細書で開示される方法は、力制御されまたはインピーダンス制御される、ロボットマニピュレータを備え、構造化されていない作業空間内で動作するロボットを制御する。本方法は、ロボットマニピュレータにより周囲の環境に対して付与される静的な力に自動的に上限を課すことを含み、静的な力が常に上限を超えることができにないようにする。0009上限は、ロボットのジョイントにおけるトルク、およびロボットマニピュレータの選択されたポイントにおけるデカルト力およびモーメントの少なくとも1つに関して定義することができる。本方法はさらに、構造化されていない作業空間において、ロボットマニピュレータが物体と接触するときのロボットマニピュレータと物体との間の接触力を決定することを含み、また、接触力が較正された閾値を超えたときに自動的にマニピュレータの動的な反射作用を実行することを含む。0010本明細書で説明されるロボットシステムは、コントローラ、および力制御されるまたはインピーダンス制御されるロボットを含み、ロボットは、ロボットマニピュレータおよび構造化されていない作業空間を備える。コントローラは、マニピュレータにより周囲の環境に付与される静的な力の上限を課し、静的な力が常に上限を超えることができないようにする。0011また、力制御されるまたはインピーダンス制御されるロボットのためのコントローラが開示される。ロボットは、構造化されていない作業空間内で動作し、また、ロボットマニピュレータを備える。コントローラは、ロボットマニピュレータにより周囲の環境に付与される静的な力の上限を自動的に課し、静的な力が常に上限を超えることができないようにプログラムされたホストマシンを含む。0012本発明の上記の特徴および利点、および本発明の他の特徴および利点は、添付図面とともに以下の本発明を実施する好ましい形態の詳細な説明を参照することで容易に明らかになる。0016図面を参照すると、複数の図面を通じて同様の参照符号は同一または類似の要素を示す。図1を参照すると、器用なロボット11を備えるロボットシステム10が示され、ここでは人間型ロボットの実施形態を示し、これは、電子制御ユニットまたはコントローラ12を介して制御される。0017コントローラ12は、アルゴリズム100を使用してロボット11のための制御戦略を提供し、これは図2、3を参照して以下で説明される。制御戦略は、常に静的なコンプライアンスフェーズ制御フェーズIを提供し、また、追加的に動的な反射作用フェーズ制御フェーズIIを提供し、構造化されていない作業空間内でのロボット11の安全な動作を確保するのを支援する。制御フェーズは、図2とともに以下で説明されるように計算されるジョイントトルク命令信号50を介して、コントローラ12により実行される。0018本明細書において、構造化されていないとの語は、少なくとも部分的に画定されていない、および/または人間のオペレータまたは他の物体と共有され、特に物体/オペレータが画定できないまたは予測できない位置をとる動作環境または作業スペースを意味する。そのような作業スペースは、よく画定されたまたは明瞭に区別された境界を備える典型的な構造化されたロボット作業スペースと対比して定義される。構造化された作業スペースは、高度に規制された位置および寸法を備える物体が境界内にあるようにすることを可能にし、人間のオペレータがそれらの境界内に存在することを許容しないようにする。発展的な順応性のあるオートメーションは、ひどく構造化されていないおよび/または人間のオペレータと共有する作業空間においてロボットを使用することを伴い、たとえば、空間探査ベースの用途または産業ベースの用途などである。そのような用途において、器用なロボットは、環境の変化とともに人間のようなレベルの器用さを必要とするある種の作業課題を実行することができる。0019図1のロボット11は、複数の自由度DOFとともに自動化される作業を実行し、また、他の相互作用的な作業を実行することができ、また、他の統合されるシステムコンポーネントを制御するように構成することができ、他のシステムコンポーネントはたとえばクランプ、照明、リレーなどである。可能な1つの実施形態によれば、ロボット11は、複数の、独立して、および相互依存して、移動可能なアクチュエータ駆動のロボットジョイントを備えることができ、限定するわけではないが肩部ジョイント、この位置は全体として矢印13により示され、また、肘ジョイント矢印15、手首ジョイント矢印17、首ジョイント矢印19、腰ジョイント矢印21、および各ロボット指14の指節骨の間に位置決めされる様々な指ジョイント矢印23などである。0020各ロボットジョイントは、1以上のDOFを備えることができる。たとえば、肩ジョイント矢印13および肘ジョイント矢印15のようなある従順なジョイントは、ピッチおよびロールの形態で少なくとも2DOFを備える。同様に首ジョイント矢印17は、少なくとも3DOFを備えることができ、腰ジョイント矢印21および手首ジョイント矢印17は、1以上のDOFを備えることができる。作業の複雑さに依存して、ロボット11は、42を超えるDOFで移動することができる。各ロボットジョイントは、1つ以上のアクチュエータを備えこれにより内部駆動され、アクチュエータは、たとえば、ジョイントモーター、リニアアクチュエータ、ロータリーアクチュエータ等である。0021ロボット11は、ヘッド16、トルソ18、ウェスト20、アーム22、ハンド24、フィンガー14、および向かい合わせの親指のような要素を含むことができ、また、これらの要素内にまたはこれらの要素の間に配置される上述の様々なジョイントを備えることができる。ロボット11は作業の好適な固定部またはベース図示せずを含むことができ、たとえば、脚部、トレッド、またはロボットの具体的な用途または意図している使用に応じて他の移動可能なまたは固定されたベースのようなものである。動力供給部28は、ロボット11に一体的に取り付けることができ、たとえば、トルソ18の背面に保持または装着される充電可能なバッテリパック、または、他の好適なエネルギー供給部、または、十分な電気エネルギーを様々なジョイントに供給するためにテザリングケーブルを介して遠隔的に取り付けることができるエネルギー供給部などである。0022コントローラ12は、ロボット11の正確な運動制御を提供し、物体または作業ツール30を操作するために必要な精細および大雑把な運動の制御を含む。作業ツール30は、1つ以上のハンド24のフィンガー14および親指26により把持される。また、コントローラ12は、各ロボットジョイントおよび他の統合されたシステム要素を、他のジョイントおよびシステム要素から分離して独立に制御することができ、また、比較的に複雑な作業課題を実行するのに複数のジョイントの動作を完全に整合的に作用させるように、多数のジョイントを相互依存して制御することができる。0023図1を参照すると、コントローラ12は、1または複数のディジタルコンピュータまたはデータ処理装置を備えるサーバーまたはホストマシンとして実装することができ、それぞれは、1つ以上のマイクロプロセッサまたは中央処理装置CPU、読み取り専用メモリROM、ランダムアクセスメモリRAM、電気的に消去可能なプログラム可能な読み出し専用メモリEEPROM、高速クロック、アナログ-ディジタルA/D回路、ディジタル-アナログD/A回路、および任意の必要な入力/出力I/O回路および装置を備え、また、振動調整およびバッファ電子機器を備える。コントローラ12内にあるまたはコントローラにより容易にアクセス可能な個別的な制御アルゴリズムは、ROM内に記憶され、または他の好適なメモリに記憶され、また、それぞれの制御機能を提供するように自動的に実行される。0024図2を参照すると、概略的な制御ブロック図32は、図1のコントローラ12の基本的な動作原理を説明している。上述したように、静的コンプライアンス制御フェーズIの制御戦略を提供し、また、所望であれば動的な反射作用制御フェーズIIを提供する。すなわち、図1のロボット11は、力制御されるまたはインピーダンス制御されるロボットであり、またそれゆえ、その振る舞いは、マススプリング-ダンパシステムとしてモデル化することができる。システムの所望の剛性、減衰、および慣性特性を特定するために、以下の力ベースまたはインピーダンスベースの制御フレームワークを使用することができる。ここでkはバネ定数、mは動作させられる質量、bは較正される定数、Fは質量に作用する力、Δxは、質量の実際の位置と望ましい位置xとの間の差、である。力ベースまたはインピーダンスベースの制御は、ロボットと周囲の環境との間の物理的相互作用にロバスト性を提供することができ、また、多様な作業課題に対する柔軟性を提供することができる。0025ブロック図32は、様々な論理ブロックおよび信号処理ノードを使用して図1のロボット11の閉鎖ループ制御を提供する。ノード48で開始すると、この特定のノードは、望ましいジョイント位置41、たとえば望ましいジョイント角度qdes、および測定されたジョイント位置56、たとえば与えられたロボットジョイントの測定されたジョイント角度qを受け取り、差分、たとえばqdes-qを計算する。この差分は、位置誤差信号60としてスプリングトルクブロック34へ送られ、これは必要とされるスプリングジョイントトルク62を計算し、これは位置誤差信号60の値に比例する。0026必要とされるスプリングジョイントトルク62は、与えられたロボットマニピュレータにより周囲の環境へ付与される静的トルク/力を構成する。この信号は、スプリングトルクブロック34から制限ブロック35へ伝達され、これはスプリングジョイントトルク62の上および下の境界または上限を提供する。ロボット11により付与される力を決定するのに、自己受容のproprioceptive検出を用いることができる。本明細書において、自己受容proprioceptiveとの語は、単独で内部的にロボット11のステータスのフィードバックを提供するセンサの様式を指し、すなわち、ロボットが必要とされる作用力とともに移動しているか、また、ロボットの様々な部分が互いに対して配置されているかどうかを示すセンサである。外力検出または接触力の検知は、すなわち、外受容のexteroceptive検出はこのフェーズでは必要ではない。上限トルクは、トルク信号64として他の信号処理ノード51に送られ、この機能は以下で説明される。0027また、ブロック図32は、減衰トルクブロック36、動的補償ブロック38、重力補償ブロック40、および接触検出ブロック42を含む。ブロック38、40、42は、測定されたジョイント位置を入力として受け取り、別個に、異なる出力信号を生成する。減衰トルクブロック36は、位置誤差信号60を受け取り、出力トルク信号68を提供する。信号68は値Bq ́に比例し、ここでBは較正された比例定数であり、q ́はジョイント角度の時間微分である。動的補償ブロック38は、補償信号70を生成し、これは動的な力をモデル化し、特にコリオリ力を生成し、必要に応じて補正する。0028当業界で理解されているように、コリオリ力は、回転する参照フレーム内の運動する物体に作用するコリオリ効果により発生する。これは参照フレームの回転スピードに比例し、また、同一の参照フレーム内の物体のスピードに比例し、回転軸および回転フレーム内で移動する物体の速度に直交する方向に作用する。重力補償ブロック40は、ロボット11に作用する重力の効果をモデル化し、この値を重力補償信号72として伝達し、これは最終的には処理ノード51により減算される。0029信号処理ノード51は、上述したそれぞれのブロック35、36、38、40からの様々な信号64、68、70、72の関数として、予備的なトルク信号66を計算する。予備的なトルク信号66は、信号処理ノード53に向かって供給され、これは、最終的にはロボット11の制御のためのジョイントトルク命令信号50を計算する。ノード53は、予備的なトルク信号66および反射作用トルクブロック46からの反射作用トルク信号78の関数として、ジョイントトルク命令信号50を計算する。0030図2を参照すると、コントローラ12は、特定のロボットマニピュレータのダイナミクスをモデル化することにより、および/または、構造化されていない作業空間内でのロボット11と物体との間の予期しない接触により発生する外力を物理的に検出することにより、外部接触を検出するのに接触検出ブロック42を使用することができる。外受容性の検出をそのような接触を検出するのに用いることができる。外受容性との語は、視覚センサ、ロードセル、距離測定器などの手段を用いるロボット11の外側からの接触力の検出をいう。コントローラ12は、そのような入力を、測定されたジョイント位置56および検出または測定された外力54として入力を受け入れ、これは図2において力54の矢印で示され、この値は必要に応じてコントローラ12により使用されるために供給される。0031ブロック42からの接触力信号74は、閾値比較ブロック44を介して、反射作用命令信号76を生成するために処理される。反射作用トルクが必要とされる場合、すなわち、ブロック42において検出される接触の外力がブロック44の閾値の力を超える場合、反射作用トルクブロック46は、望ましい反射作用応答を開始する。これは、反射作用信号78としてノード53に伝達される。実際の望まれる反射作用は、多くの形態をとることができ、たとえば、接触から引き戻すトルクを生成させるなどである。0032ノード53は、その後、予備的なジョイントトルク66および反射作用トルク信号78の関数としてジョイントトルク命令信号50を計算する。ロボット11は、ジョイントトルク命令信号50を介して、必要とされる力ジョイントトルクを生成するように命令される。これは、任意の検出または測定された値を、測定された外力54およびジョイント位置56のためにフィードバックする。0033図2に示される制御規則は、図1のロボット11のジョイント空間において定式化され、すなわち、ロボットのジョイントの自由度DOFに関して定式化される。これは、図2により説明される上限は、ロボット11のロボットマニピュレータの選択されたポイントにおける少なくとも1つのジョイントトルク、およびデカルト力およびモーメントに関して定義される。後者の場合、制御は、ロボット11の動作空間内で定式化され、すなわち、ロボットのエンドエフェクタのデカルトDOFに関して定式化される。そのような場合、上限は、ジョイントトルクではなくロボット11により付与されるデカルト力/モーメントに適用される。0034図3を参照すると、アルゴリズム100は、上述の制御戦略を実行する1つの可能な方法を提供する。アルゴリズム100はステップ102で開始し、ここで、図1のコントローラ12は、ロボット11の与えられたマニピュレータにより付与される静的な力に自動的に上限を課し、すなわち、フィンガ、親指、ハンド、または他のマニピュレータ、による付与される静的な力に自動的に上限を課し、常にこの上限を超えることができないようにする。換言すれば、コントローラ12は、自動的に、上述のインピーダンスベースフレームワークにおける事実上のスプリング力の上限を与え、たとえば、上述の上限ブロック35を介してジョイントトルクを制限する。ロボット11は、作業空間において生じ得る接触などの障害に抗することなく環境に順応する。0035ステップ104において、コントローラ12は、閾値接触力が存在するかどうかを決定することができる。たとえば、図2の検出ブロック42は、モデル化したダイナミクスを使用して、および/または上述した接触力を検出することにより、ロボット11と物体との間の接触を検出するのに用いることができる。比較ブロック44は、動的な反射作用が開始されるべきかどうかについて、閾値決定をするのに用いることができ、また、コントローラ12内でその決定と通信するために使用することができる。0036ステップ106において、コントローラ12は、ロボット11に動的な反射作用を課す。慣性力により、ロボット11は、作業空間内での物体との接触において大きな動的な力を与える。接触力が閾値を超える場合、コントローラ12は、反射作用ブロック46を介して較正された反射作用を開始する。アルゴリズム100はステップ108に進む。0037ステップ108において、コントローラ12は、動的な反射作用を終了し、ステップ102の静的なコンプライアンスだけの処理に戻る。すなわち、コントローラ12は、作業空間内での接触を監視し続ける間、制御フェーズI、すなわちブロック34についての静的な監視を実行しない。0038アルゴリズム100を用いることで、図2の論理図32に従って実行しているとき、ロボット11のような器用なロボット、人間のオペレータ、およびあらゆる固定されていない物体と間で共有される構造化されていない作業環境において、安全な動作が可能になる。連続的な静的なコンプライアンスを備えるインピーダンスフレームワークは、環境の認識を必要とせずに動作中における常時コンプライアンスを確保する。補助的な動的な反射作用フェーズは、ロボット11の速い運動とともに生じる接触力を較正された制御幅内になるように小さくするために使用することができる。0039本発明を実施する好ましい形態が詳細に説明された。本発明の技術分野における当業者は、本発明を添付の特許請求の範囲により画定される発明を実施するための様々な代替設計および実施形態を認識するであろう。