説明

ステージクラス化を用いた器用なロボットの実行シーケンスを制御するための方法およびシステム

【課題】ステージクラス化を用いた器用なロボットの実行シーケンスを制御する。
【解決手段】ロボットは、複数のロボットジョイントと、ジョイントを運動させるアクチュエータと、ジョイントの特性を測定し、センサ信号として特性を伝達するセンサと、を有する。コントローラは、センサ信号を受け取り、メモリからの命令を実行し、状態クラス化モジュールを介してセンサ信号を識別できるクラスにクラス化し、クラスを用いてロボットのシステム状態を監視し、システム状態に基づいて、代替作業タスクの実行においてロボットを制御するように構成される。上述のシステム内のロボットを制御する方法は、コントローラから信号を受け取ること、状態クラス化モジュールを用いて信号をクラス化すること、クラスを用いてロボットの現在のシステム状態を監視すること、現在のシステム状態に基づいて代替作業タスクの実行においてロボットを制御すること、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
[0001]本発明は、NASA Space Act Agreement Number SAA-AT-07-003による政府の支援のもとでなされた。本明細書で説明される発明は、米国政府によりまたは米国政府のために、実施料の支払いなしに、製造および使用され得る。
【0002】
本発明は、ステージクラス化を用いた器用なロボットの実行シーケンスを制御するための方法およびシステムに関する。
【背景技術】
【0003】
[0002]ロボットは、一連のリンクを介して物体を操作するのに用いることができる、電気機械装置である。リンクは、関節またはアクチュエータ駆動ロボットジョイントにより相互接続される。典型的なロボットの各ジョイントは、独立制御変数または自由度(DOF)を備える。エンドエフェクタは、作業ツールの把持または対象物への他の動作のような所定の作業を実行するために用いられる特別なリンクである。様々なDOFを通じてのロボットの正確な運動制御は、タスクレベル、オブジェクトレベルコントロール、すなわち、ロボットにより単一でまたは協働して保持される物体を制御する能力、エンドエフェクタコントロール、ジョイントレベルコントロール、により管理することができる。集合的に、様々な制御レベルは、必要とされるロボットの器用さおよび作業タスクに関連する機能性を達成するために協働する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
[0004]器用なロボットの構造的な複雑さは、作業タスクの性質に広く依存する。物体の操作の間、環境に対してマニピュレータを、すなわちシステム状態を追跡することが必要である。そのような追跡なしでは、与えられた作業シーケンスの間、ロボットは動作の結果に関して無知の状態である。しかし、比較的に高いDOF数を備える器用なロボットにおいて、システム状態を監視および追跡することは、非常に複雑な作業である。一般に数百の別個のセンサ信号が用いられ、現在のシステム状態の最終的な決定へのセンサ信号の処理、および関連性の決定の困難さが伴う。したがって、存在するロボット制御システムおよび制御方法は、比較的に高いDOFの器用なロボットの状態追跡および監視のための使用に関しては最適というわけではない。
【課題を解決するための手段】
【0005】
[0005]器用なロボットおよびコントローラを備えるロボットシステムが開示される。ロボットは、比較的に大きな自由度(DOF)を備え、たとえば、一実施形態においては少なくとも42DOFである。コントローラは、ロボットの自動化シーケンスを採用するのに用いることができる触覚フィードバックを提供するように構成される。すなわち、コントローラは、論理層を用いて、操作の間にロボットの状態および動作環境を追跡する。論理層は、ロボットが、現在の動作の結果に基づいて任意の数の実行経路を実行することを可能にする。この知識は、与えられた作業またはシーケンスの周りで適応できる制御を包むのに用いることができる。
【0006】
[0006]状態シーケンスは、学習フェーズの間に決定され、この間に、作業実行中になされる実際のセンサ測定が、実体的な非過渡的なメモリ内に記憶される。これらの測定は、サポートベクターマシン(Support Vector Machine, SVM)により処理される。タスク実行中にシステム状態の評価は、後のタスクステップのための完了条件として、または代替動作を行うために、コントローラにより用いられる。
【0007】
[0007]特に、ロボットシステムは、器用なロボットおよびコントローラを含む。ロボットは、複数のロボットジョイント、ロボットジョイントを運動させるように構成されるアクチュエータ、およびロボットジョイントの1つに対応する特性、たとえば位置、を測定し、その測定をセンサ信号として伝達するように構成されるセンサ、を含む。コントローラは、実体的な非過渡的なメモリを含み、メモリに状態クラス化モジュールを含むコンピュータで実行可能な命令が記録され、コントローラは、実体的な非過渡的メモリからの命令を実行するように構成されるプロセッサを含み、状態クラス化モジュール、たとえばサポートベクターマシン(SVM)、を 用いてセンサ信号を少なくとも2つの識別できるクラスにクラス化し、クラスを用いてロボットのシステム状態を監視し、システム状態に基づいて代替作業タスクの実行においてロボットを制御する。
【0008】
[0008]上述の器用なロボットを制御するための方法は、コントローラを用いてセンサ信号を受け取ることと、センサ信号を少なくとも2つの識別できるクラスにクラス化することと、クラスを用いてロボットの現在のシステム状態を監視することと、現在のシステム状態に基づいて代替作業タスクの実行においてロボットを制御することと、を含む。
【0009】
[0009]また、上述の方法を実行するように構成されるコントローラが本明細書で開示される。コントローラは、ロボットと通信し、センサ信号を受け取るように構成されるホストマシンを含む。また、コントローラは、実体的な非過渡的なメモリを含み、コンピュータで実行可能な命令が記録され、状態クラス化モジュールを含む。プロセッサは命令を実行し、それにより、上述の本方法を実行する。
【0010】
[0010]本発明の上述の特徴および利点、また、他の特徴および利点は、以下の本発明を実施するための詳細な説明を添付図面とともに参照することで明らかになる。
【図面の簡単な説明】
【0011】
【図1】ロボットシステムの概略図であり、作業タスクまたはシーケンスの実行中に器用なロボットの制御に状態クラス化データを用いるコントローラを備える、ロボットシステムの概略図である。
【図2】図1に示されるシステム内で、センサ入力のクラス化においサポートベクターマシンにより生成される平行超平面のプロットの概略図である。
【図3】図1のロボットシステム内のシステム状態を追跡するための例示の制御アプローチを説明するフローチャートである。
【発明を実施するための形態】
【0012】
[0014]図面を参照すると、同様の参照番号は、いくつかの図面を通じて同一または類似の要素を参照する。例示的なロボットシステム10が図1に示されている。ロボットシステム10は、器用なロボット110およびコントローラ24を含む。図2、3を参照して以下で詳細に説明されるように、本コントローラ24は、ロボットが与えられた作業タスクまたはシーケンスを実行するときに、ロボット110の動作を制御するように構成される。コントローラ24は、部分的に、状態クラス化モジュール23を用いて生成された状態クラス化データを用いてこれを行い、たとえば、サポートベクターマシン(SVM)または他の好適な状態評価技術を用いる。
【0013】
[0015]図1に示されるロボット110は、可能な一実施形態において、人間型として構成することができる。人間型ロボットの使用は、ロボット110と、特に人間による使用または制御が意図されている装置またはシステムとの間に直接的な相互作用が必要とされる場合において有利となり得る。そのようなロボットは、典型的には、作業タスクの要求に応じて、全身、トルソ、アーム、および/またはハンドの形態で、ほぼ人間のような構造または外観を備える。
【0014】
[0016]ロボット110は、複数の、独立にまたは相互依存して移動可能なコンプライアントロボットジョイントを含み、限定するわけではないが、肩ジョイント(矢印Aで示される)、肘ジョイント(矢印B)、手首ジョイント(矢印C)、首ジョイント(矢印D)、腰ジョイント(矢印E)、各ロボットフィンガ19の指骨の間に位置決めされる様々なフィンガジョイント(矢印F)を含む。各ロボットジョイントは、1以上の自由度(DOF)を備えることができる。
【0015】
[0017]たとえば、肩ジョイント(矢印A)、肘ジョイント(矢印B)、および手首ジョイント(矢印C)のようなある種のジョイントは、ピッチおよびロールの形態で少なくとも2DOFを備えることができる。同様に、首ジョイント(矢印D)は、少なくとも3DOFを備えることができ、腰および手首のジョイント(矢印E、C)は、1以上のDOFを備えることができる。タスクの複雑さのレベルに応じて、ロボット110は、42を越えるDOFで動作することができ、図1に示される例示的な実施形態で可能である。そのような大きな数のDOFは器用なロボットの特性であり、本稿では人間のようなレベルの器用さを備えるロボットを意味するものとして使用され、たとえば、フィンガー19およびハンド18において人間のような器用さを備える。
【0016】
[0018]説明の明瞭さのために図1には示されていないが、各ロボットジョイントは、1つ以上のジョイントアクチュエータを備え、これに駆動され、たとえば、モーター、線形アクチュエータ、ロータリーアクチュエータ、電気的に制御される拮抗テンドン等である。各ジョイントは、1つ以上のセンサ29を含み、単純化のために図1では肩および肘のセンサだけが示されている。センサ29は測定して、センサ信号をコントローラ24へ伝達し(矢印22)、これはコンピュータで読み出し可能なメモリ25内に記録され、与えられた作業タスクシーケンスの実行中にシステム状態の変化を監視および追跡するのに用いられる。
【0017】
[0019]人間型として構成される場合、ロボット110は、ヘッド12、トルソ14、腰15、腕16、ハンド18、フィンガ19、および親指21を含むことができる。また、ロボット110は、タスクに好適な固定具またはベース(図示せず)を含むことができ、ロボット110の具体的な用途または意図する使用に応じて、レッグ、トレッド、または他の移動可能なまたは静止のベースなどを含むことができる。パワー供給部13は、ロボット110に関して一体的に取り付けることができ、たとえば、様々なジョイントへ十分な電気エネルギーを供給するために、トルソ14上に搭載または装着される充電可能なバッテリパック、または他の好適なエネルギー源を用いることができ、ここで用いられる電気駆動アクチュエータへパワー供給する。パワー供給部13は、パワーコントロールのセットおよびフィードバック信号(矢印27)を介して制御することができる。
【0018】
[0020]図1を参照すると、本コントローラ24は、閉鎖ループまたは解放ループで、コントロール信号およびフィードバック信号(矢印11)を介して、ロボット110の様々な統合システムコンポーネントの正確な運動およびシステムレベルコントロールを提供する。そのようなコンポーネントは、様々なコンプライアントジョイント、リレー、レーザー、光、電磁石クランプ、および/またはロボット110の動作の正確なコントロールを確立するために用いられる他のコンポーネントを含むことができ、1つ以上のハンド18のフィンガ19および親指21により把持される物体20を操作するのに必要とされる精細および粗野な運動のコントロールを含む。コントローラ24は、各ロボットジョイントをコントロールするように構成され、他のジョイントから分離して、また、より複雑な作業タスクを実行するのに複数のジョイント動作を完全に統合してコントロールするように構成される。
【0019】
[0021]コントローラ24は、1つまたは複数のディジタルコンピュータまたはホストマシンとして実施することができ、それぞれが1つ以上のプロセッサ17、読出専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的にプログラム可能な読出専用メモリ(EPROM)、光学ドライブ、磁気ドライブ等、高速クロック、アナログ−ディジタル(A/D)回路、ディジタル−アナログ(D/A)回路、および任意の必要な入力/出力(I/O)回路、I/O装置、通信インターフェース、信号調整器、バッファ機器などを含むことができる。
【0020】
[0022]コンピュータで読出し可能なメモリ25は、任意の非過渡的/実体的な媒体を含むことができ、データまたはコンピュータで読み出し可能な命令の提供に関連する。メモリ25は、不揮発性でも揮発性でもよい。不揮発性の媒体は、たとえば、光学または磁気ディスクおよび他の持続性のあるメモリとすることができる。例示の揮発性媒体は、ダイナミックランダムアクセスメモリ(DRAM)を含むことができ、これはメインメモリを構成することができる。メモリ25の実施形態の他の例は、フロッピーディスク、フレキシブルディスク、またはハードディスク、磁気テープ、他の磁気媒体、CD−ROM、DVD、および/または任意の他の光学媒体、フラッシュメモリのような他の可能なメモリ装置を含むことができる。
【0021】
[0023]コントローラ24は、状態クラス化モジュール23を含む。モジュール23は、たとえば、サポートベクターマシン(SVM)、または、以下で説明するように、測定されたセンサ信号(矢印22)からロボットシステム10の現在の状態を決定するのに好適な、他の論理層として実施化することができる。本方法100を実行するコンピュータが実行可能な命令は、メモリ25に記録することができ、また、コントローラ24の関連するハードウェア要素を用いてコントローラ24のプロセッサ17により実行可能である。本方法100の例示的な実施形態は図3に示されており、以下で詳細に説明される。
【0022】
[0024]状態クラス化モジュール23は、論理層として実施化することができ、また、当業界でよく理解されているように、監督される機械学習の1つ以上のフェーズの間に、選択的にコントローラ24により実行される。モジュール23の使用は、コントローラ24が、データを効率的に解析し、作業タスクまたはシーケンスの実行においてロボット110から受け取る様々なセンサ信号(矢印22)のような、入力データにより表されるパターンを認識するのを可能にする。
【0023】
[0025]一実施形態において、状態クラス化モジュール23は、SVMとして構成され、これは、非確率的バイナリ線化クラス化装置として一般に説明される。しかし、当業者は、本発明の意図される範囲から逸脱することなく他のアプローチを用いることができる。たとえば、状態クラス化モジュール23は、代替的に、ニューラルネットワーク、ロジスティック回帰モデル、単純ベイズ分類機、パーセプトロンネットワーク、k近傍法、等として実施化することができ、それぞれは当業界に知られている。以下、説明的な一貫性のためにSVMの実施形態が用いられる。
【0024】
[0026]各入力に関して、SVMは、具体的なの入力値が適切にフィットする、少なくとも2つのデータクラスまたはカテゴリの何れかであると予期することができる。それぞれが関連するクラスを備える、十分に大きく且つ有益な学習サンプルのセットが与えられると、その後、コントローラ24は、与えられた作業シーケンスを実行するときに、センサ信号(矢印22)の各新しいサンプルを適切にクラス化するために、SVMを使用することができる。
【0025】
[0027]図2を参照すると、状態クラス化モジュール23のSVM実施形態のクラス化プロセスをさらに説明するためのプロット50が示される。例示的なクラスは、図1の「物体20を保持するロボット110」とすることができる。他の例示のクラスは、「物体20を保持しないロボット110」とすることができる。x1軸およびx2軸は、センサ29からの入力を表し、これらの2つのセンサは図1に示されている。図2において、第1クラスは、クラスタ40により示され、第2クラスはクラスタ42により示されている。
【0026】
[0028]SVMは、値wおよびbを探すことでクラスを分割し、当業界では超平面とも称される、式w・x−b=0(ライン43)により定義されるラインは、クラス40、42の間の距離(ライン47)を最大化する。wおよびxはベクトルであり、たとえば、図1に示される例では2次元であり、また、w・xは、ベクトルのドット積である。いくつかの場合、クラスを分割するラインw・x−bが存在しないことがある。この場合、コントローラ24は、センサ入力x=(x1、x2)に対して座標変換を適用することができ、当業界で理解されるように、変換された空間においてラインによりクラスを分離することができる。そのような座標変換は、SVMアプローチの性能を最適化するために用いることができる。1つの可能な変換は、Radial Basis Function (RBF)カーネルである。
【0027】
[0029]コントローラ24は、最初に、訓練/学習フェーズを実行し、この間に、SVMにより実際のセンサ測定値(図1の矢印22)が処理され、メモリ25に記録される。SVMは、初めに超平面、すなわちライン43、を計算する。その後、それぞれの式(w・x−b=1)、(w・x−b=−1)を用いて、超平面に平行なライン41、45がコントローラ24により画定される。wおよびbの値は、与えられたセンサ値のクラス化のエラーの発生を最小化するように、超平面またはライン41、45の間のマージンまたは分離を最大化するように選択されるべきである。
【0028】
[0030]図2に示されるプロット50と共に図3を参照すると、本方法100の例示的な実施形態が示され、教示/学習フェーズ中または実際の作業タスクの実行中であるかに関わらず、図1のロボット110が作業タスクを開始するときに、ステップ102で開始する。ステップ102のタスクの実行に際して、図1のコントローラ24はステップ104に進む。
【0029】
[0031]ステップ104において、コントローラ24は、センサ測定値のセットを記録し、たとえば、図1の様々な信号(矢印22)をメモリ25に記録する。その後、コントローラ24は、モジュール23、たとえば上述したSVMまたは他の適切な代替予測手段を用いてセンサ信号(矢印22)のセットを処理することができる。
【0030】
[0032]ステップ104は、センサ測定値を、図2に示される例示的なクラス40、42のような以前に記録されたクラスと比較し、以前の訓練フェーズから存在する知識を用いてこれらの異なるクラスに1つの測定値を配置することを含むことができる。システム状態が適切に同定されると、コントローラ24は、ステップ106または108に進み、これは、現在のシステム状態に応じて利用可能であるかあるいは利用可能ではない、2つの可能な分岐作業タスクを示している。
【0031】
[0033]たとえば、ステップ106は、協働的な把持において、所定の位置へ図1の物体20を回転させることを含むことができ、ステップ108は、同一の物体20を静止表面に溶接することを含むことができる。この仮定的な例において、ステップ106は、ロボット110が第1システム状態にあるときにだけ生じるようにすることができ、ステップ108は、ロボット110が第2システム状態にあるときにだけ生じるようにすることができる。ステップ104における適切な状態クラス化は、ロボット110が、現在の活動から生じる結果に基づいて、任意の数の実行パスを通って遷移することを可能にするのに重要である。
【0032】
[0034]本発明の実施形態が詳細に説明されたが、本発明が関連する技術分野における当業者は、添付の特許請求の範囲の範囲内において、本発明を実施する様々な代替設計および実施形態を認識するであろう。

【特許請求の範囲】
【請求項1】
ロボットシステムであって、
複数のロボットジョイント、前記ロボットジョイントを運動させるように構成されるアクチュエータ、および前記ロボットジョイントの対応する1つの特性を測定するように構成されたセンサを備える器用なロボットと、
センサ信号を受け取るように構成されるコントローラと、を有し、
前記コントローラは、実体的な非過渡的なメモリを有し、前記メモリに、状態クラス化モジュールを含む、コンピュータで実行可能な命令が記録され、
前記コントローラはさらにプロセッサを含み、
前記プロセッサは、前記実体的な非過渡的なメモリからの命令を実行し、
前記状態クラス化モジュールを介してセンサ信号を少なくとも2つの識別されるクラスにクラス化し、
前記クラスを用いて前記ロボットのシステム状態を監視し、および、
前記システム状態に基づいて、代替作業タスクの実行において前記ロボットを制御する、ように構成される、
ロボットシステム。
【請求項2】
請求項1に記載のロボットシステムであって、前記コントローラは、前記状態クラス化モジュールの訓練フェーズの実行中に、前記プロセッサを介して、前記複数のセンサにより取得された実際のセンサ測定値を処理するように構成される、ロボットシステム。
【請求項3】
請求項1に記載のロボットシステムであって、前記状態クラス化モジュールは、超平面、または前記複数のセンサの入力空間においてクラスを分割するラインを計算するサポートベクターマシンである、ロボットシステム。
【請求項4】
請求項3に記載のロボットシステムであって、前記サポートベクターマシンは、Radial Basis Functionカーネルを座標変換として選択的に用いる、ロボットシステム。
【請求項5】
請求項1に記載のロボットシステムであって、前記器用なロボットは、少なくとも42の自由度を備える人間型ロボットである、ロボットシステム。
【請求項6】
器用なロボットを制御する方法であって、前記ロボットは、複数のジョイントと、前記ジョイントを運動させるように構成されるアクチュエータと、前記ロボットジョイントの対応する1つの特性を測定するように構成されるセンサと、を含み、前記特性は、作業タスクまたはシーケンスの実行に用いられる各ジョイントの位置を含み、また、前記センサは、センサ信号として前記特性を伝達するように構成され、前記方法は、
状態クラス化モジュールを備えるコントローラを用いて前記センサ信号を受け取ることと、
前記コントローラの状態クラス化モジュールを使用して、前記センサ信号を、少なくとも2つの識別できるクラスにクラス化することと、
前記クラスを用いて前記ロボットの現在のシステム状態を監視することと、
前記現在のシステム状態に基づいて、代替作業タスクの実行において前記ロボットを制御することと、を有する方法。
【請求項7】
請求項6に記載の方法であって、さらに、
前記状態クラス化モジュールの訓練フェーズの実行中に、前記コントローラを介して、前記センサにより取得した実際のセンサ測定値を処理すること、を有する方法。
【請求項8】
請求項6に記載の方法であって、さらに、
前記状態クラス化モジュールを用いて、超平面または前記センサの入力空間において前記クラスを分割するラインを計算すること、を有する方法。
【請求項9】
請求項8に記載の方法であって、超平面またはラインを計算することは、サポートベクターマシン(SVM)、ニューラルネットワーク、ロジスティック回帰モデル、単純ベイズ分類機、パーセプトロンネットワーク、およびk近傍法の1つを用いることを含む、方法。
【請求項10】
請求項9に記載の方法であって、超平面またはラインを計算することは、SVMを使用することを含み、前記方法はさらに、
Radial Basis Functionカーネルを座標変換として選択的に用いて、SVMの性能を最適化することを有する、方法。
【請求項11】
請求項6に記載の方法であって、代替作業タスクの実行において前記ロボットを制御することは、少なくとも2つの代替作業タスクを通じて、少なくとも42の自由度を備える人間型ロボットを制御することを含む、方法。
【請求項12】
器用なロボットを備えるロボットシステム内で使用されるコントローラであって、前記ロボットは、複数のロボットジョイントと、前記ロボットジョイントを運動させるように構成されるアクチュエータと、前記ロボットジョイントの対応する1つの特性を測定し、センサ信号として前記特性を伝達するように構成されるセンサと、を含み、前記コントローラは、
前記ロボットと通信し、センサ信号を受け取るように構成されるホストマシンと、
実体的な非過渡的なメモリと、を有し、前記メモリは、状態クラス化モジュールを含む、コンピュータで実行可能な命令を記録し、
前記コントローラはさらにプロセッサを有し、前記プロセッサは、
前記実体的な非過渡的メモリからの命令を実行し、
前記センサ信号を、前記状態クラス化モジュールを介して少なくとも2つの識別できるクラスにクラス化し、
前記クラスを用いて前記ロボットのシステム状態を監視し、および、
前記システム状態に基づいて、代替作業タスクの実行において前記ロボットを制御する、ように構成される、
コントローラ。
【請求項13】
請求項12に記載のコントローラであって、前記コントローラは、実際のセンサ測定値のセットを前記メモリ内で処理および記録するように構成され、前記センサ測定値は、前記状態クラス化モジュールの訓練フェーズの実行中に前記センサにより測定される、コントローラ。
【請求項14】
請求項12に記載のコントローラであって、前記状態クラス化モジュールは、超平面または前記複数のセンサの入力空間においてクラスを分割するラインを計算するサポートベクターマシンである、コントローラ。
【請求項15】
請求項14に記載のコントローラであって、前記サポートベクターマシンは、Radial Basis Functionカーネルを座標変換として選択的に用いる、コントローラ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2013−31913(P2013−31913A)
【公開日】平成25年2月14日(2013.2.14)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−114555(P2012−114555)
【出願日】平成24年5月18日(2012.5.18)
【出願人】(511095986)ジーエム・グローバル・テクノロジー・オペレーションズ・エルエルシー (14)
【出願人】(510149563)ザ・ユナイテッド・ステイツ・オブ・アメリカ・アズ・リプレゼンテッド・バイ・ジ・アドミニストレーター・オブ・ザ・ナショナル・エアロノーティクス・アンド・スペース・アドミニストレーション (27)
【Fターム(参考)】