(57)【要約】【課題】協調的なロボット制御システムを提供すること。【解決手段】本発明は、協調的なロボット制御方法に関するものであって、実行可能な複数の指示を有して構成された１つまたは複数のコンピュータシステムの制御下において、複数のロボットデバイス（１０２ａ〜１０２ｄ）からなるネットワークを確立し；操作者から擬人的な動きを検出し；その擬人的な動きの少なくとも一部を表す１つまたは複数の信号を生成し；複数のロボットデバイスからなるネットワーク内における１つまたは複数のロボットデバイスを駆動するために、その１つまたは複数の信号を、擬人的な動きと機能的に等価であるような集合的な組をなす複数の命令へと変換する。【選択図】図１
2015168056.tif 000002
【特許請求の範囲】
【請求項１】
協調的なロボット制御方法であって、
実行可能な複数の指示を有して構成された１つまたは複数のコンピュータシステムの制御下において、
複数のロボットデバイスからなるネットワークを確立し；
操作者から擬人的な動きを検出し；
その擬人的な動きの少なくとも一部を表す１つまたは複数の信号を生成し；
前記複数のロボットデバイスからなる前記ネットワーク内における１つまたは複数のロボットデバイスを駆動するために、その１つまたは複数の信号を、前記擬人的な動きと機能的に等価であるような集合的な組をなす複数の命令へと変換する；
ことを特徴とする方法。
【請求項２】
請求項１記載の方法において、
さらに、前記集合的な組をなす複数の命令を、前記複数のロボットデバイスからなる前記ネットワークへと、送信することを特徴とする方法。
【請求項３】
請求項２記載の方法において、
前記集合的な組をなす複数の命令を送信するに際しては、前記複数のロボットデバイスからなる前記ネットワークの中の各ロボットデバイスに対して、前記集合的な組をなす複数の命令の中の命令サブセットを送信することを特徴とする方法。
【請求項４】
請求項１記載の方法において、
前記複数のロボットデバイスからなる前記ネットワークを、１つのマスターロボットデバイスと、１つまたは複数のスレイブロボットデバイスと、を備えたものとし、
前記マスターロボットデバイスを、前記集合的な組をなす複数の命令を受領するものとするとともに、この集合的な組をなす複数の命令を前記複数のロボットデバイスからなる前記ネットワークへと分配するものとすることを特徴とする方法。
【請求項５】
請求項１記載の方法において、
さらに、
前記複数のロボットデバイスからなる前記ネットワークからフィードバックを検出し；
検出した前記フィードバックを、操作者に対して提示する；
ことを特徴とする方法。
【請求項６】
請求項５記載の方法において、
検出した前記フィードバックを操作者に対して提示するに際しては、操作者デバイスの駆動と、可聴音の生成と、振動パッドの起動、とのうちの少なくとも１つを行うことを特徴とする方法。
【請求項７】
請求項５記載の方法において、
検出した前記フィードバックを操作者に対して提示するに際しては、検出した前記フィードバックを視覚的に表示することを特徴とする方法。
【請求項８】
請求項１記載の方法において、
前記方法を、非一時的なコンピュータ読み込み可能な媒体上において実施することを特徴とする方法。
【請求項９】
協調的なロボットシステムであって、
擬人的な動きを検出するための複数の制御センサと；
命令を受領するとともに前記命令に基づいて動きを駆動するための複数のロボットデバイスと；
前記複数の制御センサおよび前記複数のロボットデバイスに対して通信可能に接続された協調的なロボット制御デバイスであるとともに、前記複数の制御センサによって検出された前記擬人的な動きを、前記擬人的な動きと機能的に等価であるような集合的な組をなす複数の命令へと変換する、協調的なロボット制御デバイスと；
を具備していることを特徴とするシステム。
【請求項１０】
請求項９記載のシステムにおいて、
前記複数の制御センサが、操作者に対して取り付けられていることを特徴とするシステム。
【請求項１１】
請求項９記載のシステムにおいて、
前記複数のロボットデバイスが、蛇行性ロボットクローラーを有していることを特徴とするシステム。
【請求項１２】
請求項９記載のシステムにおいて、
前記協調的なロボット制御デバイスが、実行可能な複数の指示を有した構成された１つまたは複数のコンピュータシステムによって、前記擬人的な動きを、前記集合的な組をなす複数の命令へと変換することを特徴とするシステム。
【請求項１３】
協調的なロボット制御デバイスであって、
プロセッサと；
一組をなす複数の動作を達成し得るよう前記プロセッサによって実行されるべき複数の指示を包含したメモリデバイスと；
擬人的な動きを検出し得るよう構成された複数の制御センサと；
ロボットフィードバックを受領し得るよう構成されたフィードバックデバイスと；
複数のロボットデバイスからなるネットワークによって擬人的な動きの一部を駆動するために、前記複数の制御センサによって検出された擬人的な動きを、前記擬人的な動きと機能的に等価であるような集合的な組をなす複数の命令へと変換し得るよう構成された運動コンバータと；
前記複数のロボットデバイスからなる前記ネットワークに対して通信を行い得るよう構成された通信インターフェースと；
を具備していることを特徴とするデバイス。
【請求項１４】
請求項１３記載のデバイスにおいて、
前記フィードバックデバイスが、画像ディスプレイと音響スピーカーと触覚型フィードバックデバイスとのうちの少なくとも１つを有していることを特徴とするデバイス。
【請求項１５】
請求項１３記載のデバイスにおいて、
前記フィードバックデバイスから受領したフィードバックが、前記複数の制御センサのうちの少なくとも１つが組み付けられたデバイスを介して、操作者に対して提示されることを特徴とするデバイス。
【請求項１６】
請求項１３記載のデバイスにおいて、
前記複数の制御センサが、３次元的な動きを検出するものとされていることを特徴とするデバイス。
【請求項１７】
請求項１３記載のデバイスにおいて、
環境が、前記運動コンバータのために、プログラム的に規定され、これにより、機能的な等価性が制限されることを特徴とするデバイス。
【請求項１８】
請求項１７記載のデバイスにおいて、
前記環境が、拡張型のマークアップ言語（ＸＭＬ）ドキュメントを使用して、プログラム的に規定されることを特徴とするデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
ロボットとは、１つまたは複数のコンピュータプログラムおよび／または電子回路によって制御される電気的機械的機構である。自動化ロボットとは、連続的な人的介入を必要とすることなく、非組織化環境内で所望のタスクを達成し得るロボットである。これに対し、半自動化ロボットや非自動化ロボットとは、多くの場合、人的介入を必要とする。
【背景技術】
【０００２】
ロボットは、例えば製造や宇宙開発や医薬といったようなものも含めて、様々な分野において使用されている。専門分野に特化したロボットは、一般に、車両ボディの塗装といったような単一のタスクあるいは単一組をなす複数のタスクを実行し得るよう構成されている。
【０００３】
人型ロボットとは、汚染される作業や危険な作業を含むいくつかの人的タスクと張り合おうとするロボットのカテゴリーである。人型ロボットは、人体のボディ形状に似せたボディ形状を有して構築されたロボットである。人型ロボットは、例えば人用のツールや環境と相互作用するといったように、機能的な目的のために構成することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】２０１３年９月１３日付けで出願された米国特許出願第１４／０２６，２８４号明細書、題名“Serpentine Robotic Crawler for Performing Dexterous Operations”（代理人番号 No. 2865-12.3329.US.NP）
【特許文献２】２０１２年１０月３１日付けで出願された米国特許出願第１３／６６５，６６９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に、人型ロボットは、胴と、頭部と、２つの腕と、２つの脚と、を有している。また、いくつかの人型ロボットは、例えば目や耳といったような人のセンサ器官を複製し得るよう構成された複数の頭部を有することができる。
【課題を解決するための手段】
【０００６】
協調的なロボット制御技術が開示される。特に、この技術により、複数のロボットデバイスからなるネットワークとしての２つ以上のロボットデバイスを協調的に使用することができる。複数のロボットデバイスからなるネットワークは、人のようなあるいは複雑なあるいは多角的な様々な協調的なタスクあるいは単純な協調的なタスク（以下においては、「協調的なタスク」と称す）を遠隔的に実施することができる。人の操作者は、一組をなす複数のセンサを操作することによって、制御を提供することができる。複数のロボットデバイスからなるネットワークの中の１つのロボットデバイスは、境界が規定された環境内において人のようなタスクの一部を達成することができ、複数のロボットデバイスからなるネットワークの中の残りのロボットデバイスは、境界が規定された環境内において人のようなタスクの残部を達成することができる。そのような構成においては、遠隔的に位置した操作者は、マスターデバイスを着用することができる。マスターデバイスは、操作者の関節位置をリアルタイムで測定し、例えばヘッドマウンドディスプレイといったようなデバイスに対して視覚的な表示を行い、複数のロボットデバイスからなるネットワーク内の集合的な組をなす複数のロボットデバイスに対して所望の動きを送信する。これにより、複数のロボットデバイスからなるネットワークは、操作者に対して解剖学的に一致した動きでもって駆動される。要約すれば、操作者は、環境内のオブジェクトに対してのインターフェースが、すべてのものが人型ロボットではない複数のロボットデバイスを介したものであることを、および、複数のロボットデバイスが環境内において機能し得ることを、必ずしも意識することがない。複数のロボットの協調的な使用は、単一ユニットとして動作するようにして行うことができる。これは、複数のロボットデバイスが必ずしも物理的に連結されることを必要とすることなく、行われる。
【０００７】
一例においては、車両の運転は、１つの人のようなタスクを達成するために様々なタイプの擬人的な動きを包含した人のようなタスクとすることができる。人のようなタスクは、例えば、操縦ハンドルの回転操作と、ウィンカ信号の起動操作と、クラッチの踏み込み操作と、シフトノブの駆動操作と、アクセルペダルによる加速操作と、ブレーキの踏み込み操作と、を有することができる。
【０００８】
より詳細な例においては、操作者は、右手を操縦ハンドル上に置いたまま左手によって操縦ハンドルのエッジを下向きに押圧することによって、ウィンカ信号を起動させる。一組をなす複数のセンサは、有利には、操作者上にあるいは操作者の近傍に配置することができ、これにより、そのような動きを検出することができる。この動きは、その後、複数のロボットデバイスからなるネットワークによって実施することができる。例えば、複数のロボットデバイスからなるネットワークの中の１つのロボットデバイスは、操縦ハンドルを保持することができ、他のロボットデバイスは、ウィンカ信号を起動することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の例示としての一実施形態による、複数のロボットデバイスからなるネットワークを示している。
【図２】図１の複数のロボットデバイスからなる例示としてのネットワークを示す他の図である。
【図３】操作者によって使用された場合の、協調的なロボット制御システムの一例を示している。
【図４】協調的なロボット制御システムの一例を示す各構成部材のブロック図である。
【図５】蛇行性ロボットクローラーの一例を示している。
【図６】操作者によって制御された場合の蛇行性ロボットクローラーの一例を示している。
【図７】複数のロボットデバイスからなるネットワークのための協調的なロボット制御方法の一例を示すフローチャートである。
【図８】協調的なロボット制御において使用し得るコンピュータデバイスの一例を示すブロック図である。
【発明を実施するための形態】
【００１０】
図１および図２には、複数のロボットデバイスからなるネットワークの一例を示している。特に、複数のロボットデバイスからなるネットワーク１００は、４つのロボットデバイス１０２ａ〜１０２ｄを備えている。さらに、カメラ１０６は、フィードバックデバイスとして機能し、複数のロボットからなるネットワーク１００の操作者に対して視覚的情報を提供する。
【００１１】
複数のロボットからなるネットワーク１００は、環境１０４内で動作している。より詳細には、環境１０４は、車両内における運転手の領域である。ロボットデバイス１０２ａ〜１０２ｄは、命令を受領することができ、この命令に応じた動きを駆動することができる。このように、複数のロボットからなるネットワーク１００は、協調的な態様で動作することができ、これにより、人のようなタスクを実行することができる。操作者は、離れた場所に位置することができ、一組をなす複数のセンサを介して擬人的な動きを提供することができる。これにより、複数のロボットからなるネットワーク１００を制御することができる。より多数のロボットデバイスを、複数のロボットからなるネットワーク１００に対して追加することができる。これにより、より複雑なタスクを実行することができる、あるいは、より大きな移動範囲が必要とされたタスクを実行することができる。
【００１２】
一例においては、図示のように車両を運転するためには、人は、見ることができる必要があり、操縦ハンドルを回転させ得る必要があり、ウインカを駆動し得る必要があり、シフトノブを駆動し得る必要があり、アクセルペダルを踏み込み得る必要があり、ブレーキペダルを踏み込み得る必要がある。単一の人型ロボットによって実行することに代えて、４つのロボットデバイス１０２ａ〜１０２ｄが、互いに協調的な態様で動作することができ、これにより、機能的に操作者が行うのと同等の動きを提供することができる。
【００１３】
より詳細には、ロボットデバイス１０２ａは、カメラ１０６を位置決めし得るようにしてシート上に配置することができる。これにより、前方ガラスを通して見ることができるとともに、側方ウィンドウを通して車両の後方確認ミラーを見ることができる。ロボットデバイス１０２ｂを、同様に、シート上に配置することができる。ロボットデバイス１０２ｂは、車両の操縦ハンドルを回転させることができる。ロボットデバイス１０２ｃは、シート上に配置することができ、ウインカを駆動することができる、および／または、シフトノブを駆動することができる。ロボットデバイス１０２ｄは、フロア上に配置することができ、アクセルペダルあるいはブレーキペダルを踏み込むことができる。このようにして、複数のロボットからなるネットワーク１００は、人のようなタスクを実行するために、互いに協調的な態様で動作することができる。
【００１４】
図３は、操作者３００によって使用された場合の、協調的なロボット制御システムの一例を示している。特に、協調的なロボット制御システムは、操作者３００からの擬人的な動きを検出するために、複数の制御センサ３０６，３０８，３１０，３１２，３１４，３１６を備えている。操作者３００が移動したときには、制御センサ３０６，３０８，３１０，３１２，３１４，３１６は、その動きを検出して、その動きを表す出力信号を生成することができる。例えば、制御センサ３０６，３０８，３１０，３１２，３１４，３１６は、加速度計や、あるいは、センサに関する３次元座標をもたらすデジタル位置決めデバイス、とすることができる。他の例においては、制御センサ３０６，３０８，３１０，３１２，３１４，３１６は、操作者３００の関節に関しての、角度回転や圧力や力を測定することができる。複数の制御センサは、操作者に対して付加することができる、あるいは、操作者からいくらかの距離だけ離間したところから動きを検出することができる。例えば、レーダーやＬＩＤＡＲや他の３Ｄ深さ検出デバイスを、操作者から数フィートだけ離間したところに配置することができ、操作者の方に配向させることができる。これにより、擬人的な動きの一部を検出することができる。複数のセンサの様々な組合せを使用することにより、操作者３００の擬人的な動きを検出することができる。
【００１５】
協調的なロボット制御システムは、さらに、協調的なロボット制御デバイスを備えることができる。協調的なロボット制御デバイスは、複数の制御センサ３０６，３０８，３１０，３１２，３１４，３１６に対して通信可能に接続されているとともに、複数の制御センサ３０６，３０８，３１０，３１２，３１４，３１６によって検出された擬人的な動きを、集合的な組をなす複数の命令へと、変換することができる。集合的な組をなす複数の命令は、例えば図１および図２に関して説明された複数のロボットデバイスといったような、複数のロボットデバイスを駆動することができる。このようにして、集合的な組をなす複数の命令は、特許文献１，２において図示されて説明された蛇行型ロボットクローラーといったような１つまたは複数の蛇行性ロボットクローラーを駆動することができる。これら文献の記載内容は、参考のためここに組み込まれる。
【００１６】
集合的な組をなす複数の命令によって駆動される複数のロボットからなるネットワーク内における動きは、機能的に、複数の制御センサによって検出された擬人的な動きと同等なものとすることができる。例えば、動きは、操作者３００が、足を引っ込めて、その足を左へと移動させ、その足を前方へと押し出す、ものとすることができる。これにより、アクセルペダルからブレーキペダルへと足を移動させる動きを模擬することができる（すなわち、これは、複数のロボットからなるネットワークが実行すべき、サブタスクと称されるような軽度なタスクから、車両の運転のための難度の高い協調型タスクまでも、包含することができる）。図１および図２に示すように、ロボットデバイス１０２ｄによって実行されるのと機能的に同等な動きは、アクセルペダルからブレーキペダルへと移動する単一のロボット足を含まないことができる。すなわち、ロボットデバイス１０２ｄの一端は、アクセルペダルとの係合を解除することができ、なおかつ、ロボットデバイス１０２ｄの他端は、ブレーキペダルと係合することができる。このようにして、ロボットデバイス１０２ｄの環境内における対象物は、特にアクセルペダルおよびブレーキペダルは、機能的に同等な態様で駆動される。よって、複数のロボットデバイスは、複数の命令を受領し得るとともに、それら命令に基づいて、１つまたは複数の動きを駆動することができる。これにより、集合的な組をなす複数の命令が、操作者の擬人的な動きと機能的に同等であるようなあるいは実質的に同等であるような、複数のロボットデバイスによる動き（すなわち、協調的なタスクを実行するのに必要なネットワーク内での動き）をもたらすことができる。詳細に後述するように、複数のロボットからなるネットワーク内における機能的に同等な動きは、１つまたは複数のロボットデバイスによって実行することができ、そのような動きは、協調したものとされる（例えば、操作者によって開始されたタスクを実行するために使用された２つ以上のロボットによる動きは、互いに協調したものとされる）。
【００１７】
協調的なロボット制御デバイスは、図３に示すようにバックパック３０２内に収容することができる、あるいは、複数の制御センサ３０６，３０８，３１０，３１２，３１４，３１６に対して通信可能に接続されつつ離間した位置に収容することができる。同様に、協調的なロボット制御システムは、さらに、例えばビデオデバイス３０４といったような１つまたは複数のフィードバックデバイスを備えることができる。このようにして、フィードバックを、複数のロボットからなるネットワークから検出することができる。
【００１８】
ロボット制御デバイスは、擬人的な動きを集合的な組をなす複数の命令へと変換するための実行可能な指示が組み込まれた１つまたは複数のコンピュータシステムを使用することができる。このようにして、バックパック３０２は、変換を実行し得るソフトウェア指示が組み込まれたプログラマブルコンピュータを収容することができる。バックパック３０２は、また、変換を実行するための同様の処理を実施する回路を収容することができる。
【００１９】
複数の制御センサ３０６，３０８，３１０，３１２，３１４，３１６によって検出されたものといったような擬人的な動きが、集合的な組をなす複数の命令へと変換された後には、集合的な組をなす複数の命令を、複数のロボットからなるネットワークへと送信することができる。集合的な組をなす複数の命令の流通は、様々な手法で行うことができる。例えば、複数の命令からなる各サブセットを、複数のロボットからなるネットワークの中のそれぞれのロボットデバイスに対して送信することができる。このようにして、複数のロボットからなるネットワークの中の各ロボットデバイスは、複数の命令からなるサブセットを直接的に受信することができる。これに代えて、複数のロボットからなるネットワークは、１つのマスターロボットデバイスと、１つまたは複数のスレイブロボットデバイスと、を備えることができる。マスターロボットデバイスは、集合的な組をなす複数の命令を受信することができ、その後、その集合的な組をなす複数の命令を、複数のロボットからなるネットワークへと、適宜に送信することができる。このようにして、複数のロボットからなるネットワークの中の各ロボットデバイスは、複数の命令からなるサブセットを、直接的に（例えば、マスターロボットデバイス）、あるいは、マスターロボットデバイスを介して間接的に（例えば、スレイブロボットデバイス）、受信することができる。
【００２０】
図４は、協調的なロボットシステムの一例における各構成部材を示すブロック図である。このシステム４００を使用することにより、図１〜図３に関して上述した機能を、あるいは、図５〜図８に関して後述する他の例示としての機能を、実施することができる。このシステム４００は、１つまたは複数のコンピュータデバイス４０６と、複数のロボットからなるネットワーク４１０と、一組をなす複数のフィードバックデバイス４１２と、一組をなす複数のセンサ４０２と、を備えることができる。ネットワーク４０８は、一組をなす複数のフィードバックデバイス４１２および複数のロボットからなるネットワーク４１０を、コンピュータデバイス４０６に対して、通信可能に接続することができる。
【００２１】
ネットワーク４０８は、イントラネットやインターネットやローカルエリアネットワーク（ＬＡＮ）やワイドエリアネットワーク（ＷＡＮ）や無線データネットワークやセルネットワークやダイレクトＲＦリンクやステートレスリレーネットワークや他の任意のそのようなネットワークやあるいはそれらの組合せを含めた、任意の有用なコンピュータネットワークあるいは信号ネットワークを包含することができる。ネットワーク４０８は、例えばインターネットプロトコル（ＩＰ）や通信制御プロトコル（ＴＣＰ）やユーザーデータグラムプロトコル（ＵＤＰ）や他のネットワークプロトコルを含めた、様々な通信プロトコルを利用することができる。そのようなシステムのために使用される構成部材は、少なくとも部分的には、ネットワークのタイプ、および／または、選択された環境、に依存することができる。ネットワーク上での通信は、有線通信や光ファイバ通信や無線通信やこれらの組合せによって行うことができる。
【００２２】
複数のロボットデバイスからなるネットワーク４１０内の複数のロボットデバイス４６０ａ〜４６０ｄの各々は、一組をなす複数のフィードバックデバイス４１２の中の各フィードバックデバイス４７０ａ，４７０ｂと一緒に、および、一組をなす複数のセンサ４０２の中のセンサ４２０ａ〜４２０ｉと一緒に、それぞれが、ある種のデータ処理能力およびデータ格納能力を有することができる。例えば、ロボットデバイスは、プロセッサと、メモリと、データストアと、を有することができる。同様に、フィードバックデバイスも、また、センサも、プロセッサと、メモリと、データストアと、を有することができる。他のすべてのデバイスは、ネットワーク４０８に対してのインターフェースのためのネットワークインターフェース回路（ＮＩＣ）を有することができる。例えば、コンピュータデバイス４３４は、コンピュータデバイス４３４のためのＮＩＣ４３６を有している。
【００２３】
複数のロボットデバイスからなるネットワーク４１０と、一組をなす複数のフィードバックデバイス４１２とは、コンピュータデバイス４０６に対してネットワーク４０８を介して接続されるものとして図示されているけれども、複数のロボットデバイスからなるネットワーク４１０と一組をなす複数のフィードバックデバイス４１２とを、コンピュータデバイス４０６に対して、互いに個別のネットワークを介して接続し得ることは、理解されるであろう。また、一組をなす複数のセンサ４０２は、ローカルインターフェース４０４を介してコンピュータデバイス４０６に対して直接的に接続されるものとして図示されているけれども、一組をなす複数のセンサ４０２を、コンピュータデバイス４０６に対して、通信可能なネットワーク４０８を介して接続し得ることは、理解されるであろう。
【００２４】
コンピュータデバイス４０６は、例えば、サーバーコンピュータや、あるいは、演算能力を有した他の任意のシステム、とすることができる。これに代えて、１つまたは複数のサーバーバンクやコンピュータバンクや他の構成の中に配置された複数のコンピュータデバイス４０６を、使用することができる。簡略化のために、コンピュータデバイス４０６を単一のものとして参照する。しかしながら、上述したような構成において、複数のコンピュータデバイス４０６を使用し得ることは、理解されるであろう。
【００２５】
上述したような様々なプロセスおよび／または機能を、様々な構成例に基づくシステム４００において実行することができる。例えば、コンピュータデバイス４０６は、いくらかの中央サーバー処理サービスを提供することができ、また、協調的なロボットシステム４００内の他のデバイスは、ローカル処理サービスと、コンピュータデバイス４０６に対してのサービスに対してのインターフェースのためのインターフェース処理サービスと、を提供することができる。したがって、上述したような処理サービスを、中央主催型の機能や、あるいは、リクエストを受領して他のサービスやカスタマーデバイスに対して出力を提供するサービス応用とし得ることが想定される。
【００２６】
例えば、サービスは、サーバー型やクラウド型やグリッド型やクラスター型の演算システムにおいて主催されるオンデマンド演算と見なすことができる。各サービスに関して、アプリケーションプログラムインターフェース（ＡＰＩ）を設けることができ、これにより、第２サービスが、第１サービスに対してリクエストを送信したりまた第１サービスから出力を受領したりすることができる。そのようなＡＰＩにより、また、第３パーティが、サービスに対してのインターフェースとなったり、また、サービスに対してリクエストを送信したり、また、サービスからの出力を受領したり、することができる。プロセッサ４３０は、コンピュータデバイス４０６上のメモリ４３２に対して通信を行うことにより、処理指示を提供することができる。つまり、メモリデバイスは、プロセッサによって実行可能とされこれにより一組をなす複数の動作を実行させる複数の指示を有することができる。プロセッサ４３０および／またはメモリ４３２は、データストア４３４に対して直接的にまたは間接的に通信を行うことができる。複数のロボットデバイスからなるネットワーク４１０内の各ロボットデバイスは、および、一組をなす複数のセンサ４０２内の各センサは、および、一組をなす複数のフィードバックデバイス４１２内の各フィードバックデバイスは、同様の処理能力を有することができる。これに代えて、それら処理能力のいくつかあるいはすべては、コンピュータデバイス４０６によって、あるいは、協調的なロボットシステム内における例えばマスターロボットデバイスといったような他のデバイスによって、提供されることができる。
【００２７】
様々なデータを、コンピュータデバイス４０６に対してアクセス可能なデータストア４３４内に格納することができる。「データストア」という用語は、データを格納したりデータに対してアクセスしたりデータを組織化したりおよび／またはデータを受領したりし得るような任意のデバイスあるいはそれらの組合せを意味することができる。データストアは、様々なデータサーバーや関連するデータベースやオブジェクト指向型データベースやクラウド格納システムやデータ格納デバイスやデータウェアハウスやフラットファイルや任意の集中型環境や分散型環境やクラスター型環境内におけるデータ格納構成やこれらの任意の組合せを有することができる。データストア４３４の格納システム構成部材は、例えばＳＡＮ（ストアレージエリアネットワーク）やクラウド格納ネットワークや揮発性ＲＡＭや不揮発性ＲＡＭや光学的媒体やハードドライブタイプ媒体といったような格納システムを有することができる。データストア４３４は、複数のデータストア４３４の代表とすることができる。
【００２８】
データストア４３４内に格納されたデータは、例えば、環境データストア４４０、ロボット状態データストア４４２、センサデータストア４４４、フィードバックデータストア４４６、を有することができる。環境データストア４４０は、複数のロボットデバイス４６０ａ〜４６０ｄが効果的に動作し得るよう構成された環境に関する詳細を有することができる。このようにして、環境データストアは、システム４００の機能的制限に関するいくつかの情報を含有することができ、検出された擬人的な動きを集合的な組をなす複数の命令へと変換して複数のロボットデバイスからなるネットワーク４１０による動きを駆動することに関する情報を含有することができる。よって、環境は、機能的な等価性を制限する運動変換モジュール４５４のためにプログラム的に規定することができる。例えば、環境は、拡張型マークアップランゲッジ（ＸＭＬ）ドキュメントによってプログラム的に規定することができ、データストア４４０内に格納することができる。使用可能な他の標準的なものは、非人型システムのためのジョイントアーキテクチャー（ＪＡＵＳ）である。ロボット状態データストアは、例えば位置決め情報やローディング情報や速度情報や加速度情報や位置情報や信号強度情報や安定性情報や周囲環境といったような、複数のロボットデバイス４６０ａ〜４６０ｄの状態に関する詳細を含有することができる。センサデータストア４４４は、センサ４２０ａ〜４２０ｉによって提供されるデータのためのバッファとしてあるいは処理領域として、機能することができる。同様に、フィードバックデータストア４４６は、フィードバックデバイス４７０ａ，４７０ｂによって提供されるデータのためのバッファとしてあるいは処理領域として、機能することができる。
【００２９】
センサモジュール４５０は、一組をなす複数のセンサ４０２からデータを受領して処理するためのインターフェースを提供することができる。このようにして、センサモジュール４５０は、センサデータストア４４４に対して、および、例えば運動コンバータモジュール４５４といったような他のモジュールに対して、相互作用することができる。よって、制御センサは、擬人的な動きを検出し得るとともに、その擬人的な動きをコンピュータデバイス４０６に対して通信し得るよう構成することができる。フィードバックモジュール４５２は、一組をなす複数のフィードバックデバイス４１２のためのインターフェースとすることができ、フィードバックデータストア４４６と相互作用することができる。このようにして、フィードバックデバイスは、ロボットフィードバックを受領し得るよう構成することができる。その後、検出されたフィードバックは、操作者デバイスを駆動することによりあるいは可聴音を生成することによりあるいは振動パッドを励起することによりあるいは可視ディスプレイを駆動することにより、操作者に対して提示されることができる。さらに、受領したフィードバックは、例えば複数の制御センサのうちの少なくとも１つの制御センサに対して一体的とされたデバイスによって、操作者に対して提示されることができる。
【００３０】
運動コンバータモジュール４５４は、センサ４２０ａ〜４２０ｉによって検出された擬人的な動きを、集合的な組をなす複数の命令へと変換することができる。これにより、複数のロボットデバイスからなるネットワーク４１０内の１つまたは複数のロボットデバイス４６０ａ〜４６０ｄによって、動きを駆動することができる。集合的な組をなす複数の命令は、擬人的な動きと比較して、機能的に等価なものあるいは実質的に等価なものとすることができる。このことは、使用者によって実行された機能が、１つまたは複数のロボットデバイスによって複数のロボットデバイスからなるネットワーク４１０内において等価的に実行されることを意味している。このようにして、運動コンバータモジュール４５４は、センサデータストア４４４に対して、および、環境データストア４４０に対して、および、ロボット状態データストア４４２に対して、相互作用することができる。さらに、運動コンバータモジュール４５４は、また、例えば駆動モジュール４５６といったような他のモジュールに対しても相互作用することができる。これにより、駆動のために、集合的な組をなす複数の命令を、複数のロボットデバイスからなるネットワーク４１０に対して、通信することができる。このようにして、駆動モジュール４５６は、駆動のために複数のロボットデバイスからなるネットワーク４１０に対して複数の命令を送信するためのインターフェースを提供することができる。よって、運動コンバータモジュール４５４は、複数の制御センサによって検出された擬人的な動きを、複数のロボットデバイスからなるネットワークによって動きを駆動させ得るような集合的な組をなす複数の命令へと変換し得るように、構成することができる。ここで、集合的な組をなす複数の命令は、擬人的な動きと機能的に等価であり、通信インターフェースは、複数のロボットデバイスからなるネットワーク４１０に対して通信を行い得るように構成することができる。複数のフィードバックデバイス４２０ａ〜４２０ｉのうちの任意のものは、例えば画像ディスプレイや音響スピーカーや触覚型フィードバックデバイスといったようなデバイスを有することができる。さらに、複数の制御センサは、３次元的な動きを検出することができる。
【００３１】
一実施形態においては、運動コンバータモジュール４５４は、ロボット４６０ａ〜４６０ｄを使用し得るシナリオを予め予想し得るよう構成することができる。例えば、運動コンバータモジュール４５４は、例えば車両の運転や意識を失った人に対しての生理学的センサの取付や危険な環境下における制御パネルの操作といったような特定の高レベルタスクにために構成された予めプログラムされた構成要素を備えることができる。このようにして、操作者は、ネットワーク内の複数のロボットデバイス４６０ａ〜４６０ｄが集合的に十分な程度の自由度を有することを確保することができ、これにより、環境内において特定のタスクを実行することができる。それでもなお、ロボットの集合は、同じ環境下においてあるいは異なる環境下において新たなタスクあるいは異なるタスクを実行し得るように再構成することができる。例えば、ロボットの集合は、トラベルモードで構成することができ、ある場所から他の場所へと移動するように個々に駆動することができる。この場合、所望の目的地に到達した際には、複数のロボットデバイスの集合を、再構成することができ、所望のタスクを実行し得る位置に配置することができる。例示するならば、複数の蛇行型（蛇状の）ロボットを、個別的に、トラベルモードすなわちドライブモードで構成することができ、これにより、寸法的に制限された経路を通しての（例えば、ボアホールや坑道を通しての）所望の環境へのアクセスを得ることができる。その後、複数のロボットを、再構成して所望の環境内に配置することができ、これにより、その環境内において協調的にかつ巧妙にタスクを実行することができる。例えば、複数のロボットを、車両内に配置することができ、車両の運転というタスクを実行することができる。所定位置への配置後には、操作者は、例えば操作者に対して運動学的に一致するものとされたマスターデバイスを使用することによって、遠隔操作によって、その環境内で巧妙にタスクを実行することができる。その場合、マスターデバイスからの出力が伝達されることにより、ネットワーク内の複数のロボットデバイスに対しての命令が提供され、これにより、運動学的に等価なスレイブロボットに対して送出された命令によって実行することができる。
【００３２】
様々なロボットデバイスの協調的な制御を例示するための一実施形態においては、センサ４２０ａ〜４２０ｉは、制御スペースの複数の規定領域すなわち境界付き領域を有することができる。制御スペースのそれら領域内における操作者の対応した動きは、操作者の動きに基づいた１つまたは複数のロボット４６０の制御を示すことができる。操作者が制御スペースの領域から離れた後には、センサ４２０は、もはや、１つまたは複数のロボット４６０の制御のために操作者の動きを把握することができない。しかしながら、他のセンサ４２０に関する制御の他の領域においては、制御領域内からの１つまたは複数の他のロボット４６０の制御のために（すなわち、タスクを実行するために使用される他の自由度）操作者の動きを把握することができる。言い換えれば、複数の規定領域にわたっての操作者の単一の動きは、複数のロボットデバイスからなるネットワーク内における起動のための、複数の自由度を引き起こすことができる。ここで、複数の自由度は、複数のロボットデバイスにわたって交差することができるあるいは複数のロボットデバイスの周囲に配置することができる。そのような動作領域は、例えば環境自体や複数のロボットデバイスからなるネットワーク内における様々なロボットデバイスの動きの範囲や様々なロボットデバイスの個々の自由度の範囲や複数のロボットデバイスの特定の位置や特定の数やその他といったような様々な要因に基づくものとすることができ、それら様々な要因によって決定することができる。動作領域は、数値的に（例えば、基準ポイントに対してのデカルト座標）、あるいは、グラフィック的に（例えば、マップ付き環境）、あるいは、複数のロボットデバイスの自由度の動きの範囲を規定するために使用されるものとして当業者に公知であるような他の任意のシステムや方法や手段によって、表現することができる。
【００３３】
図５は、特許文献１に記載されたロボットクローラーと同様の蛇行型ロボットクローラー５００の一例を示している。この文献の記載内容は、参考のためここに組み込まれる。蛇行性ロボットクローラー５００は、複数のロボットデバイスからなるネットワークの中の１つのロボットデバイスとして使用することができ、いくつかの状況について詳細に後述するような様々な状況下において巧妙な操作を行い得るように配置されて関節結合され得る複数の巧妙なマニピュレータを備えることができる。図示のように、第１の巧妙なマニピュレータ５６２は、第１フレーム５６８の先端部５５６に対して連結することができ、第２の巧妙なマニピュレータ５２２は、第２フレーム５２８の先端部５１６に対して連結することができる。フレーム５６８は、先端部５５６と基端部５５０とを有することができ、フレーム５２８は、先端部５１６と基端部５１０とを有することができる。蛇行性ロボットクローラーは、さらに、両フレーム５６８，５２８をグラウンド面あるいは他の表面に対してまた互いに対して移動させ得るよう構成された推進システムを備えることができる。これにより、例えば、様々な配置関係を得ることができるとともに、様々な推進モードを得ることができる。推進システムは、フレーム５６８まわりに支持されているとともにフレーム５６８を駆動し得るドライブサブシステム５５４と、フレーム５２８まわりに支持されているとともにフレーム５２８を駆動し得る同様のドライブサブシステム５１４と、を備えることができる。各ドライブサブシステムは、様々なモータや様々なドライブトレインや様々な制御部材等を備えることができる。推進システムは、さらに、蛇行性ロボットクローラーの推進を可能とする１つまたは複数の表面接触部材を備えることができる。表面接触部材は、例えば、ドライブサブシステム５５４によって駆動されるフレーム５６８まわりに回転可能に支持された連続型のあるいは無端のトラック５５２、および、ドライブサブシステム５１４によって駆動されるフレーム５２８まわりに回転可能に支持された連続型のあるいは無端のトラック５１２、とされる。それぞれのフレームユニットに対しての回転可能な無端トラック５５２，５５６の追加は、蛇行性ロボットクローラー５００に対して、蛇行性ロボットクローラー５００をグラウンド面あるいは他の表面
に対して移動させ得る態様でのさらに様々な障害物を克服し得る態様での移動性能を提供する。当業者であれば理解されるように、例えばホイールや回転ジョイント等といったような他のタイプの表面接触部材を使用することができる。それらの態様の各々は、ここに組み込まれる。
【００３４】
蛇行性ロボットクローラー５００は、さらに、それぞれのフレーム５６８，５２８の基端部５５０，５１０のところにおいてあるいはその近傍においてフレーム５６８，５２８どうしを互いに連結する複数自由度のリンクアーム５４０を備えることができる。例示としての一実施形態においては、複数自由度のリンクアーム５４０は、フレーム５６８，５２８に対して移動可能なものとすることができる。複数自由度のリンクアーム５４０の移動は、受動的なもの、あるいは、駆動されるもの、あるいは、ブレーキがかけられるもの、とすることができる。図示の実施形態においては、複数自由度のリンクアーム５４０は、旋回式関節結合ジョイント５８０ａ〜５８０ｅと、回転式関節結合ジョイント５９０ａ，５９０ｂと、を備えることができる。これら関節結合ジョイント５８０ａ〜５８０ｅ，５９０ａ，５９０ｂのすべてはまたはいくつかは、互いに対してのおよびフレーム５６８，５２８に対しての各ジョイントの選択的な位置決めが得られるようにして駆動可能なものとすることができる。実際、関節結合ジョイントにより、蛇行性ロボットクローラー５００は、第１フレーム５６８および第２フレーム５２８の互いに対しての様々な配置状況および様々な位置決めを行うことができ、さらに、第２の巧妙なマニピュレータ５２２に対しての第１の巧妙なマニピュレータ５６２の様々な配置状況および様々な位置決めを行うことができる。蛇行性ロボットクローラー５００は、タンク状の配置状況とすることができ、この配置状況においては、両フレーム５６８，５２８が互いに対して、および、回転可能な無端トラック５５２，５１２が互いに対して、サイドバイサイドに並置された配置状況となっている。他の配置状況においては、蛇行性ロボットクローラー５００は、例えばフレームユニットどうしが互いにタンデムな関係とされた配置状況といったような、代替可能な配置状況とすることができる。これら様々な配置状況については、詳細に後述する。
【００３５】
フレームユニット５６８には、係止部５７０を設けることができる、あるいは、他のリミッタデバイスまたはリミッタシステムを設けることができる。同様に、フレームユニット５２８には、係止部５３０を設けることができる、あるいは、他のリミッタデバイスまたはリミッタシステムを設けることができる。係止部あるいはリミッタデバイスは、複数自由度のリンクアーム５４０の回転度合いを制限することができる。これにより、フレーム５６８，５２８に対して連結されたジョイントは、無端トラック５５０，５１０の動作に対してジョイントが干渉しない程度に、回転度合いが制限される。
【００３６】
巧妙なマニピュレータ５６２は、フレーム５６８の先端部５５６に対して回転可能に連結された連結部材５５８を有することができる。同様に、巧妙なマニピュレータ５２２は、フレーム５２８の先端部５１６に対して回転可能に連結された連結部材５１８を有することができる。連結部材５５８，５１８は、巧妙なマニピュレータ５６２，５２２が手首のような態様で動作し得ることをあるいは機能し得ることを補助することができる。このことは、人の手首と同様に、様々な軸まわりに複数の自由度でもって移動することを意味する。
【００３７】
巧妙なマニピュレータ５６２，５２２の一方または双方は、さらに、ワークピース（例えば、オブジェクト、他のエンドエフェクター、グラウンド面あるいは他の表面、等）に対して動作し得るよう構成されたあるいはそのようなワークピースを操作し得るよう構成されたあるいはそのようなワークピースに対して干渉し得るよう構成されたエンドエフェクター（例えば、連結部材５５８に対して動作可能とされたエンドエフェクター５６０、および、連結部材５１８に対して動作可能とされたエンドエフェクター５２０）を備えることができる。本質的に、巧妙なマニピュレータ５６２，５２２は、エンドエフェクター５６０，５２０と一緒に、オブジェクトに対してあるいは巧妙な操作を行う目的のためのものに対して操作し得るようにあるいは干渉し得るように、構成することができる。
【００３８】
エンドエフェクター５６２，５２２は、実行すべきタスクに応じて様々に異なる構成を備えることができる。例えば、エンドエフェクターは、人の手と同様の機能をもたらし得るよう、ワークピースに対して２つの対向した力を印加し得るよう構成された複数の構成部材を有するように構成することができる。一見地においては、例えば図示の実施形態に示すように、エンドエフェクターは、互いに対して移動可能とされた対向フィンガーを備えることができる。対向フィンガーは、対向する親指に向かう人の指の場合と同様に、互いに近接する向きに対向力を印加し得るように、すなわち、締め付け得るように、構成されている。他の見地においては、エンドエフェクターは、互いに離間する向きに力を印加し得るよう構成された、すなわち拡張し得るよう構成された、構成部材を備えることができる。
【００３９】
蛇行性ロボットクローラーのフレームおよび関節結合リンクの独特の位置決め能力は、それぞれのエンドエフェクター５６０，５２０に関連した連結部材５５８，５１８と一緒に、１つまたは複数の与えられたワークピースに対しての、および／または、互いに対しての、蛇行性ロボットクローラーの動的な位置決めを容易なものとする、より詳細には、蛇行性ロボットクローラーの巧妙なマニピュレータ５６２，５２２の動的な位置決めを容易なものとする。さらに、複数自由度のリンクアーム５４０の場合における係止部５７０，５３０と同様に、係止部５６６，５２６を、フレーム５６８，５２８に対して固定することができる。これにより、連結部材５５８，５１８が回転可能な無端トラック５５２，５１２に対して干渉しないことを保証することができる。
【００４０】
巧妙なマニピュレータ５６２，５２２に対して追加的な巧妙さを提供し得るよう、および、巧妙なマニピュレータ５６２，５２２の位置決め機能および能力を増強し得るよう、巧妙なマニピュレータ５６２，５２２の一方または双方は、さらに、例えば回転ジョイント５６０，５２０といったような回転ジョイントを備えることができる。回転ジョイントは、連結部材５５８，５１８に対しておよびエンドエフェクター５６０，５２０に対して動作することができ、これにより、巧妙なマニピュレータ５６２，５２２は、複数の自由度を有した（例えば、エンドエフェクターに対して、ピッチ機能とヨー機能とロール機能とを提供することができる）手首のような態様で機能することができる。回転ジョイント５６４，５２４の各々は、連結部材５５８，５１８に対して回転可能に連結することができ、軸線Ｂまわりにおいて連結部材５５８，５１８の端部まわりに全３６０°にわたって前方におよび後方に回転（捩り回転）し得るよう構成されている。これに加えて、回転ジョイント５６４，５２４は、さらに、連続的に回転し得るよう構成することができる。すなわち、回転ジョイント５６４，５２４は、第１方向におけるすなわち時計まわりにおける無限に連続的ななおかつ順次的に完全な回転を達成することができるとともに、逆回りの第２方向におけるすなわち反時計まわりにおける無限に連続的ななおかつ順次的に完全な回転を達成することができる。さらに、エンドエフェクター５６０，５２０の各端部は、回転ジョイント５６４，５２４に対して回転可能に連結することができ、所定範囲内において（例えば、０〜３６０°、あるいは、０〜１８０°、等。角度は、軸線Ｂからの回転角度。巧妙なマニピュレータや様々な付属ジョイントの構成や配置状況に依存して決定される。）双方向的に回転可能とすることができる。連結部材と回転ジョイントとエンドエフェクターとによって提供される様々な自由度により、および、関節結合リンク内の様々な自由度により、巧妙なマニピュレータ５６２，５２２は、とりわけエンドエフェクター５６０，５２０は、それぞれのフレーム５６８，５２８に対しておよびワークピースに対して、また、互いに対して、実質的にに配向性で配置することができる。
【００４１】
蛇行性ロボットクローラーの様々な構成部材は、能動的にまたは受動的に関節結合することができる。例えば、例示としての一実施形態においては、巧妙なマニピュレータ５６２，５２２、および、複数自由度のリンクアーム５４０を構成する様々なジョイントは、サーボモータやドライブシャフトシステムやチェインドライブシステムや油圧システムやテンドン／プーリタイプのシステムや当業者に公知の他の任意の適切な駆動手段を使用して、能動的に関節結合することができる。これに代えて、巧妙なマニピュレータ５６２，５２２、および、複数自由度のリンクアーム５４０を構成する様々なジョイントは、１つまたは複数のタイプの受動的なシステムを使用して、例えばブレーキシステムやロックシステムや構成部材をロック位置に維持し得る他の任意の適切なシステムといったような受動的なシステムを使用して、駆動することができる。能動的なあるいは受動的な関節結合システムは、巧妙なマニピュレータ５６２，５２２を所望の位置にあるいは必要な位置に配置するに際して、巧妙なマニピュレータ５６２，５２２および複数自由度のリンクアーム５４０の様々な可動ジョイントの位置決めを補助するように動作することができる。
【００４２】
図５に示す格別の実施形態においては、フレーム５６８に関しておよび関連する巧妙なマニピュレータ５６２に関して説明された配置状況および特徴点が、フレーム５２８に対してもおよび関連する巧妙なマニピュレータ５２２に対しても同様に適用され得ることに注意されたい。それでもなお、フレーム５２８および巧妙なマニピュレータ５６２は、当業者であれば理解されるように、例えば様々なエンドエフェクターや様々な手首や様々な連結部材を使用するといったようにして、異なる態様で構成することができる。これら様々な態様のすべては、本発明の範囲内である。
【００４３】
図６は、操作者６０２によって制御されている蛇行性ロボットクローラー６００の一例を示している。蛇行性ロボットクローラー６００は、フレームユニットと、オブジェクト（例えば、強磁性材料壁）に対してクランプデバイス６０４（例えば、吸引カップ、グリッパ、あるいは、例えば電磁石や永久磁石といったようなものとされていてクランプ力を制御し得るよう磁束の戻り経路が可変とされた磁気的クランプ）によって保持された巧妙なマニピュレータ６０６，６０８と、を備えている。上述したように、蛇行性ロボットクローラー１０は、１本ハンドのあるいは２本ハンドの巧妙な操作を実行することができる。
【００４４】
図７は、協調的なロボット制御方法の一例を示すフローチャート７００である。この方法のステップ７０２においては、複数のロボットデバイスからなるネットワークが確立される。ステップ７０４においては、擬人的な動きを操作者から検出することができる。ステップ７０６においては、擬人的な動きの少なくとも一部を表す１つまたは複数の信号を、生成することができ、ステップ７０８においては、複数のロボットデバイスからなるネットワークを駆動するために、この１つまたは複数の信号を、集合的な組をなす複数の命令へと変換することができる。集合的な組をなす複数の命令は、擬人的な動きと比較して、機能的に等価なものである。この方法７００は、非一時的なコンピュータ読取可能媒体上において具現することができる。
【００４５】
図８は、コンテンツを検索するために使用し得るコンピュータデバイス８０２の一例を示すブロック図８００である。特に、コンピュータデバイス８０２は、開示された技術の様々なモジュールを実行する高レベルデバイスの一例を示している。コンピュータデバイス８０２は、メモリデバイス８０６に対して通信可能とされた１つまたは複数のプロセッサ８０４を備えることができる。コンピュータデバイス８０２は、コンピュータデバイス内の様々な構成部材のための局所的通信インターフェース８１８を備えることができる。例えば、局所的通信インターフェースは、ローカルデータバスや、所望とされたような任意の関連するアドレスバスや制御バス、とすることができる。
【００４６】
メモリデバイス８０６は、プロセッサ８０４によって実行可能とされた様々なモジュールと、それらモジュールのためのデータと、を備えることができる。メモリデバイス８０６内には、上述したような機能を実施する様々なモジュール８１０が配置されている。さらに、データストア８０８を、メモリデバイス８０６内に配置することができ、各モジュールに関連したデータをおよびプロセッサ８０４によって実行可能な動作システムを使用した他のアプリケーションに関連したデータを格納することができる。
【００４７】
また、他のアプリケーションを、メモリデバイス８０６内に格納することができ、プロセッサ８０４によって実行可能とすることができる。本明細書においては、構成要素あるいはモジュールは、方法の組合せを使用してコンパイルされるあるいは翻訳されるあるいは実行される高レベルのプログラム言語を使用してソフトウェアの態様で実施可能とされたものとして説明された。
【００４８】
コンピュータデバイスは、さらに、コンピュータデバイスによって使用可能なＩ／Ｏ（インプット／アウトプット）デバイス８１４に対してアクセスすることができる。Ｉ／Ｏデバイスの一例は、コンピュータデバイスからの出力を表示するために利用可能なディスプレイスクリーン８２０である。必要であれば、他の公知のＩ／Ｏデバイスを、コンピュータデバイスと一緒に使用することができる。ネットワーク化デバイス８１６および同様の通信デバイスを、コンピュータデバイス内に配置することができる。ネットワーク化デバイス８１６は、インターネットやＬＡＮやＷＡＮや他のコンピュータネットワークに対して接続される有線のまたは無線のネットワーク化デバイスとすることができる。
【００４９】
メモリデバイス８０６内に収容されるものとして図示された様々な構成部材あるいはモジュールは、プロセッサ８０４によって実行可能なものとすることができる。「実行可能」という用語は、プログラムファイルが、プロセッサ８０４によって実行され得る態様のものであることを意味している。例えば、高レベル言語でのプログラムは、メモリデバイス８０６のランダムアクセス部分への導入が可能なフォーマットでのマシンコードへとコンパイルすることができ、プロセッサ８０４によって実行される。あるいは、ソースコードは、他の実行可能プログラムによって導入されることができ、プロセッサによって実行されるべき複数の指示をメモリのランダムアクセス部分内において生成するように翻訳される。実行可能なプログラムは、メモリデバイス８０６の任意の部分内にあるいはメモリデバイス８０６の任意の構成要素内に格納することができる。例えば、メモリデバイス８０６は、ランダムアクセスメモリ（ＲＡＭ）や、リードオンリーメモリ（ＲＯＭ）や、フラッシュメモリや、ソリッドステートドライブや、メモリカードや、ハードドライブや、光学的ディスクや、フロッピー（登録商標）ディスクや、磁気テープや、他の任意のメモリ部材、とすることができる。
【００５０】
プロセッサ８０４は、マルチプルプロセッサとすることができ、メモリデバイス８０６は、プロセッサ回路に対して並列で動作するマルチプルメモリユニットとすることができる。これは、システム内におけるデータ処理に関し、並列的なプロセスチャネルを提供することができる。局所的通信インターフェース８１８は、複数のプロセッサおよび複数のメモリの中の任意のものどうしの間にわたっての通信を可能とするためのネットワークとして使用することができる。局所的通信インターフェース８１８は、協調的な通信を行い得るよう構成された、例えば負荷のバランス化システムやバルクデータの転送システムや同様のシステムといったような追加的なシステムを使用することができる。
【００５１】
本技術を表すためのフローチャートは、実行に際しての特定の順序を示しているけれども、実行の順序は、図示の順序とは異なるものとすることができる。例えば、２つ以上のステップの順序を、図示の順序とは異なるようにして、再配置することができる。さらに、順次的に図示された２つ以上のステップは、並列的に実行することができる、あるいは、部分的な並列化を伴って実行することができる。いくつかの状況においては、フローチャート内に図示された１つまたは複数のステップは、省略すなわちスキップすることができる。任意の数のカウンタや状態変数や警告フラグやメッセージを、ユーティリティーの強化や会計処理やパフォーマンスや測定やトラブルシューティングや他の同様の目的のために、フローに対して追加することができる。
【００５２】
本明細書内で説明された様々な機能的ユニットのいくつかは、モジュールと称されている。これは、実現の独立性をより強調するためである。例えば、モジュールは、カスタムＶＬＳＩ回路や、ゲートアレイや、論理チップやトランジスタ等の在庫品の半導体や、他の離散型素子を有したハードウェア回路として実現することができる。モジュールは、また、例えばフィールドプログラマブルゲートアレイやプログラマブルアレイロジックやプログラマブルロジックデバイス等といったようなプログラム可能なハードウェアデバイス内で実現することができる。
【００５３】
モジュールは、また、様々なタイプのプロセッサによって実行可能なソフトウェア内において実現することができる。実行可能なコードからなる識別されたモジュールは、例えば、複数のコンピュータ指示からなる１つまたは複数のブロックを備えることができる。複数のコンピュータ指示からなる１つまたは複数のブロックは、オブジェクトとしてあるいは実施手順としてあるいは機能として組織化することができる。それでもなお、識別されたモジュールの実行には、物理的に一緒に配置される必要はなく、モジュールを有した異なる場所に格納された様々な異なる指示を有することができ、互いに論理的に組み合わされたときにモジュールに関する目的を達成することができる。
【００５４】
実際、実行可能なコードからなるモジュールは、単一の指示または多くの指示とすることができ、いくつかの異なるコードセグメント上にわたって、また、互いに異なるプログラム上にわたって、また、いくつかのメモリデバイスにわたって、分散させることさえできる。同様に、動作データは、識別することができ、ここではモジュール内で図示されている。動作データは、任意の適切な態様で具現することができ、任意の適切なタイプのデータ構造内において組織化することができる。動作データは、単一のデータセットとして収集することができる、あるいは、様々な異なる格納デバイス上を含む様々な場所上に分散させることができる。モジュールは、受動的なものとも能動的なものともすることができ、所望の機能を達成し得るよう動作可能とされたエージェントを有することができる。
【００５５】
ここで説明する技術は、コンピュータ読み込み可能な格納媒体上に格納することができる。コンピュータ読み込み可能な格納媒体には、揮発性または非揮発性の、着脱可能なまたは着脱不可能な、媒体がある。そのような媒体は、例えばコンピュータ読み込み可能な指示やデータ構造やプログラムモジュールや他のデータといったような情報の格納のための他の技術を使用して実現されたものである。コンピュータ読み込み可能な格納媒体には、限定するものではないけれども、ＲＡＭや、ＲＯＭや、ＥＥＰＲＯＭや、フラッシュメモリや、他のメモリ技術や、ＣＤ−ＲＯＭや、デジタル他用途ディスクや、他の光学的格納媒体や、磁気カセットや、磁気テープや、磁気的ディスク格納デバイスや、他の磁気的格納デバイスや、所望の情報を格納するために使用し得る他の任意のコンピュータ格納媒体、がある。
【００５６】
ここで説明したデバイスは、通信接続や、ネットワーク化装置や、デバイスどうしの間の通信を可能とするネットワーク化接続、を備えることができる。通信接続は、通信媒体の一例である。通信媒体は、典型的には、コンピュータ読み込み可能な指示や、データ構造や、プログラムモジュールや、例えばキャリア波や他の搬送機構といったようなモジュール化されたデータ信号内の他のデータ、を具現し、任意の情報配送媒体を備えている。「モジュール化されたデータ信号」という用語は、特徴的な組をなす１つまたは複数のものを有した信号、あるいは、信号内で情報をエンコードし得るように変更された信号、を意味している。限定するものではないけれども、例示するならば、通信媒体には、例えば有線ネットワークや直接的有線接続といったような有線媒体があり、また、例えば音響媒体やラジオ周波数媒体や赤外線媒体や他の無線媒体といったような無線媒体がある。ここで使用したコンピュータ読み込み可能な媒体という用語は、通信媒体を備えている。
【００５７】
添付図面において図示された様々な例示や、それらに関する上記の説明、を参照することができる。それでもなお、それらの例示が本発明の範囲を制限するものではないことは、理解されるであろう。上記において説明された様々な特徴点に関する様々な変更やさらなる修正は、本発明の範囲内であり、また、上記において説明された様々な例示に関する追加的な応用も、また、本発明の範囲内である。
【００５８】
さらに、詳細な特徴点や詳細な構造や詳細な特徴点は、１つまたは複数の例示において任意の適切な態様で組み合わせることができる。上記の説明においては、様々な構成の例示といったような多数の特定の細部が提供された。これにより、様々な例示に関する十分な理解が得られるであろう。しかしながら、１つまたは複数の特定の細部を省略したとしても、また、他の方法や他の構成部材や他のデバイス等を使用したとしても、本発明を実施し得ることは、理解されるであろう。他の例においては、説明の明瞭化のために、周知の構造や操作に関する詳細な図示や説明が省略されている。
【００５９】
本発明について、構造的な特徴点や操作に関して上述したけれども、特許請求の範囲に規定された各事項は、上述した特定の特徴点や特定の操作に必ずしも限定されるものではないことは、理解されたい。それよりもむしろ、上述した特定の特徴点および特定の操作は、特許請求の範囲を具現するための例示として説明されている。本発明の精神および範囲を逸脱することなく、様々な修正や様々な代替構成を想定することができる。
【符号の説明】
【００６０】
１００    複数のロボットデバイスからなるネットワーク
１０２ａ  ロボットデバイス
１０２ｂ  ロボットデバイス
１０２ｃ  ロボットデバイス
１０２ｄ  ロボットデバイス
１０４    環境
１０６    カメラ（フィードバックデバイス）
３００    操作者
３０６    制御センサ
３０８    制御センサ
３１０    制御センサ
３１２    制御センサ
３１４    制御センサ
３１６    制御センサ
４００    協調的なロボットシステム
４０２    一組をなす複数のセンサ
４０６    コンピュータデバイス
４１０    複数のロボットからなるネットワーク
４１２    一組をなす複数のフィードバックデバイス
５００    蛇行性ロボットクローラー（ロボットデバイス）
６００    蛇行性ロボットクローラー（ロボットデバイス）
【図１】
2015168056.tif 000003
【図２】
2015168056.tif 000004
【図３】
2015168056.tif 000005
【図４】
2015168056.tif 000006
【図５】
2015168056.tif 000007
【図６】
2015168056.tif 000008
【図７】
2015168056.tif 000009
【図８】
2015168056.tif 000010
【外国語明細書】
2015168056000001.pdf