JP2003019699A - 膜、自己再構成可能なロボット、膜を提供する方法、コンピュータが読取り可能なメモリを含む製品、スマート膜用のソフトウェアを提供する方法、及び膜を制御する方法 - Google Patents

膜、自己再構成可能なロボット、膜を提供する方法、コンピュータが読取り可能なメモリを含む製品、スマート膜用のソフトウェアを提供する方法、及び膜を制御する方法

Info

Publication number
JP2003019699A
JP2003019699A JP2002111426A JP2002111426A JP2003019699A JP 2003019699 A JP2003019699 A JP 2003019699A JP 2002111426 A JP2002111426 A JP 2002111426A JP 2002111426 A JP2002111426 A JP 2002111426A JP 2003019699 A JP2003019699 A JP 2003019699A
Authority
JP
Japan
Prior art keywords
membrane
module
function
information
units
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002111426A
Other languages
English (en)
Other versions
JP4427940B2 (ja
Inventor
Iii Forrest H Bennett
エイチ. ベネット、 ザ サード フォレスト
Eleanor G Rieffel
ジー. リーフェル エレノア
Bradley E Dolin
イー. ドリン ブラドリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Publication of JP2003019699A publication Critical patent/JP2003019699A/ja
Application granted granted Critical
Publication of JP4427940B2 publication Critical patent/JP4427940B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/002Biomolecular computers, i.e. using biomolecules, proteins, cells
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S977/00Nanotechnology
    • Y10S977/70Nanostructure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S977/00Nanotechnology
    • Y10S977/902Specified use of nanostructure
    • Y10S977/962Specified use of nanostructure for carrying or transporting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T403/00Joints and connections
    • Y10T403/34Branched
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T403/00Joints and connections
    • Y10T403/34Branched
    • Y10T403/341Three or more radiating members
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T403/00Joints and connections
    • Y10T403/34Branched
    • Y10T403/341Three or more radiating members
    • Y10T403/342Polyhedral
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T403/00Joints and connections
    • Y10T403/34Branched
    • Y10T403/341Three or more radiating members
    • Y10T403/345Coplanar
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T403/00Joints and connections
    • Y10T403/34Branched
    • Y10T403/347Polyhedral

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Nanotechnology (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Organic Chemistry (AREA)
  • Manipulator (AREA)
  • Micromachines (AREA)

Abstract

(57)【要約】 【課題】 1つの属性を有する少なくとも1つのオブジ
ェクトに対し、分類機能、フィルタリング機能、及び吸
収機能のうちの少なくとも1つの機能全体を行う膜を提
供する。 【解決手段】 膜(700)は、互いに隣接して配置された
複数のモジュールユニット(710)を備える。各モジュー
ルユニットは、その周囲の環境に関する情報を取得す
る。これらの複数のモジュールユニットの少なくとも一
部はそれぞれ、少なくとも第1の制御方法に基づいて、
少なくとも1つの機能を実行する。この第1の制御方法
は、各モジュールユニットに対する情報に基づいて、機
能を決定する。これらの複数のモジュールユニットの少
なくとも一部が、少なくとも1つの機能を実行すること
によって、オブジェクト(720,730)の属性に基づいて、
膜の機能全体が集合的に実行される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラム可能ス
マート膜及びその方法に係る装置及び方法に関する。
【0002】
【従来の技術】いくつかの関連技術のデバイスとして
は、マイクロマシンである分類機が挙げられる。例え
ば、米国特許第5,655,665号には、マイクロマ
シンである、流体中に浮遊する磁粉用の磁粉マニピュレ
ータ及び分離器が開示されている。
【0003】別のマイクロマシンである分類機が、米国
特許第5,893,974号に開示されている。この特
許では、所望の小さな生物分子を通過させ、同時にそれ
よりも大きな例えば抗体のような分子全てを通過させな
いようにできる、小さな孔のあいたマイクロ規模の受動
フィルタが開示されている。
【0004】別の関連技術のマイクロマシンである分類
機としては、エム.コッホ(M. Koch)、シー.シャブミ
ューラー(C. Schabmueller)、エー.ジー.アール.エ
ヴァンズ(A. G. R. Evans)、エー.ブルンシュヴァイラ
ー(A. Brunnschweiler)による「マイクロマシンである
粒子分類機:原理とテクノロジー(“A Micromachined P
article Sorter: Principle and Technology”)」(テ
クノロジー ダイジェスト、ユーロセンサーズ XII、
英国−サウサンプトン、1998年9月13日〜16日
(Tech. Digest, Eurosensors XII, Southampton, UK, S
eptember 13-16,1998))によって開示されている、受動
粒子分類機が挙げられる。
【0005】しかし、これらの関連技術のマイクロマシ
ンである分類機は、予め定義された特性によって粒子を
分類することしかできない、即ち静的/受動的であるた
め、プログラム不可能である。
【0006】その他の関連技術のデバイスとしては、ナ
ノメートル規模の膜が挙げられる。例えば、ヨシヒロ
イトウ(Yoshihiro Ito)による「極小多孔性膜における
高分子電解質毛衣による信号応答性ゲート(“Signal-re
sponsive Gating by a Polyelectrolyte Pelage on a N
anoporous Membrane”)」(ナノテクノロジー、205
〜207頁、第9巻、第3号、1998年9月(Nanotec
hnology, pp. 205-207, Vol. 9, No. 3, September 199
8))には、膜の透水率がpHレベル及びイオン強度によ
って制御される、ナノメートル規模の能動膜が開示され
ている。
【0007】別のナノメートル規模の膜が、ケー.エリ
ック ドレクスラー(K. Eric Drexler)による「ナノシ
ステム:分子機械、製造、及び計算(“Nanosystem: Mol
ecular Machinery, Manufacturing, and Computatio
n”)」(ジョン ウィリー アンド サンズ株式会社、
1992年(John Wiley & Sons, Inc., 1992))に開示
されている。ドレクスラーは、バリヤを越えて特定分子
を移送することのできる一方向能動分子分類機の設計を
開示している。ドレクスラーは、受容体を弾性変形させ
ることにより、又は受容体周囲の局部電荷分布を変更す
ることにより、移送分子の特異性を変更することができ
る、この設計の変形例の可能性について言及している。
【0008】別の関連技術である、電動ポリマーアクチ
ュエータにより制御されるナノメートル規模の多孔性膜
については、トリビオ エフ.オテロ(Toribio F. Oter
o)、パイス ヴァスコ大学(Univ. del Pais Vasco)、及
びサン セバスチャン(San Sebastian)による「多官能
価及び生体情報科学材料としてのEAP(“EAP as Mult
ifunctional and Biomimetic Materials”)」(「スマ
ート構造及び材料1999:電動ポリマーアクチュエー
タ及びデバイス」より、編集:ヨセフ バー−コヘン、
26〜34頁、1999年(in Smart Structures and M
aterials 1999: Electroactive Polymer Actuators and
Devices, edited by Yoseph Bar-Cohen,pp. 26-34, 19
99))に記載されている。
【0009】しかし、関連技術であるこれらのナノメー
トル規模の膜は全て、予め設定されており後で変更する
ことのできないフィルタリング機能を有している。
【0010】関連技術である制御方法及び技術として
は、移動ロボット用途に対する駆動及び制御統合モジュ
ラーシステムである、米国特許第6,011,372号
に開示されたシステムが挙げられる。しかし、このモジ
ュラーシステムのロボットはモジュール式ではなく、こ
のロボットの制御は階層的である。
【0011】
【発明が解決しようとする課題】本発明は、従来技術の
欠陥及び不足分を克服する、プログラム可能なスマート
膜及びその方法を提供する。
【0012】本発明は、オブジェクトの特性に依って、
オブジェクトを拒絶、移送、又は吸収するようにプログ
ラムすることのできる、プログラム可能なスマート膜を
提供する。
【0013】本発明は個々に、プログラム可能なスマー
ト膜用の制御ソフトウェアを提供する。
【0014】本発明は個々に、2つ以上の領域を区分す
る、プログラム可能なスマート膜を提供する。
【0015】本発明は個々に、1つの領域を区分し、そ
の領域の内側又は外側へ一方向フィルタリングを行う、
プログラム可能なスマート膜を提供する。
【0016】本発明は個々に、1つの領域を区分し、両
方向においてオブジェクトに膜を通過させることによ
り、その領域の内側及び外側へ二方向フィルタリングを
行う、プログラム可能なスマート膜を提供する。
【0017】本発明は個々に、平面状である、プログラ
ム可能なスマート膜を提供する。
【0018】本発明は個々に、三次元領域を区分する、
プログラム可能なスマート膜を提供する。
【0019】本発明は個々に、1度に1つのオブジェク
トに対して作動する、プログラム可能なスマート膜を提
供する。
【0020】本発明は個々に、同時に複数のオブジェク
トに対して作動する、プログラム可能なスマート膜を提
供する。
【0021】本発明は個々に、オブジェクトの様々なセ
ットの特性に基づいて、オブジェクトを拒絶、移送、又
は吸収するようにプログラム及び再プログラムすること
のできる、プログラム可能なスマート膜を提供する。
【0022】本発明は個々に、様々な用途を有する、プ
ログラム可能なスマート膜を提供する。
【0023】本発明は個々に、マクロ規模レベルで部品
を分類する、プログラム可能なスマート膜を提供する。
【0024】本発明は個々に、ナノメートル規模レベル
で物質を精製したり生化学処理を増強する、プログラム
可能なスマート膜を提供する。
【0025】本発明は個々に、同一及び非同一両方のモ
ジュールユニットを備える、プログラム可能なスマート
膜用の制御ソフトウェアを提供する。
【0026】本発明は個々に、進化法により生成され
る、プログラム可能なスマート膜用の制御ソフトウェア
を提供する。
【0027】本発明は個々に、プログラム可能なスマー
ト膜用の分散制御ソフトウェアを提供する。
【0028】本発明は個々に、膜におけるモジュールユ
ニットの数及びフィルタリングされるオブジェクトの数
を用いて順に且つ同時に基準化を行う、プログラム可能
なスマート膜用の制御ソフトウェアを提供する。
【0029】本発明は個々に、そのモジュール及びフィ
ルタリングされるオブジェクトの様々な構成に基づいて
機能する、プログラム可能なスマート膜用の制御ソフト
ウェアを提供する。
【0030】本発明は個々に、複数のスライドロボット
モジュールを備える、プログラム可能なスマート膜を提
供する。
【0031】本発明は個々に、複数の回転ロボットモジ
ュールを備える、プログラム可能なスマート膜を提供す
る。
【0032】本発明は個々に、複数の圧縮可能ロボット
モジュールを備える、プログラム可能なスマート膜を提
供する。
【0033】本発明は個々に、適合度関数を用いて見つ
けられた制御ソフトウェアを用いる、プログラム可能な
スマート膜を提供する。
【0034】本発明は個々に、オブジェクトの特性、即
ち、色、大きさ、形状、温度、密度、重量、剛度、弾力
度、電荷、力、反射率、磁束、導電率、摩擦率、圧縮
率、フィルタリングされるオブジェクトの動き、オブジ
ェクトとの通信、以上の属性のうちのいずれかの時間の
経過に伴う変化の仕方、及び、以上の属性のうちのいず
れかのオブジェクトにわたる変動の仕方、のうちの少な
くとも1つに基づいて、オブジェクトを分類、フィルタ
リング、及び/又は吸収することのできる、プログラム
可能なスマート膜を提供する。
【0035】本発明は個々に、センサ、モータ、電源、
及び変動する若しくは未知の環境条件における様々な障
害若しくはノイズ、又はそれらの誤差があっても、所望
のタスクを引き続き実行する、プログラム可能なスマー
ト膜を提供する。
【0036】本発明は個々に、モジュールユニットのう
ちの1つ又は数個においてモータの欠陥があっても、所
望のタスクを引き続き実行する、プログラム可能なスマ
ート膜を提供する。
【0037】本発明は個々に、モジュールユニットのう
ちの1つ又は数個においてセンサの欠陥があっても、所
望のタスクを引き続き実行する、プログラム可能なスマ
ート膜を提供する。
【0038】本発明は個々に、モジュールユニットのう
ちの1つ又は数個において電源がなくても、所望のタス
クを引き続き実行する、プログラム可能なスマート膜を
提供する。
【0039】本発明は個々に、モジュールユニットのう
ちの1つ又は数個においてセンサによるセンサ読取り誤
差があっても、所望のタスクを引き続き実行する、プロ
グラム可能なスマート膜を提供する。
【0040】本発明は個々に、色に基づいてオブジェク
トを分類する、二次元スライドロボットを備えたプログ
ラム可能なスマート膜を提供する。
【0041】
【課題を解決するための手段】本発明の第1の態様は、
1つの属性を有する少なくとも1つのオブジェクトに対
し、分類機能、フィルタリング機能、及び吸収機能のう
ちの少なくとも1つの機能全体を行う膜であって、互い
に隣接して配置された複数のモジュールユニットを備
え、前記複数のモジュールユニットのそれぞれが、その
周囲の環境に関する情報を取得し、前記複数のモジュー
ルユニットの少なくとも一部がそれぞれ、少なくとも第
1の制御方法に基づいて、少なくとも1つの機能を実行
し、前記第1の制御方法が、前記複数のモジュールユニ
ットのそれぞれに対する前記情報に基づいて、前記機能
を決定し、前記複数のモジュールユニットの前記少なく
とも一部が、前記少なくとも1つの機能を実行すること
によって、前記オブジェクトの前記属性に基づいて、前
記膜の前記機能全体が集合的に実行されることを特徴と
する。
【0042】本発明の第2の態様は、第1の態様におい
て、前記複数のモジュールユニットが、少なくとも2層
のモジュールユニットを形成するように互いに隣接して
配置されることを特徴とする。
【0043】本発明の第3の態様は、第1の態様におい
て、前記複数のモジュールユニットが、前記機能全体を
行う膜を二次元において形成するように配置されること
を特徴とする。
【0044】本発明の第4の態様は、第1の態様におい
て、前記複数のモジュールユニットが全て同一であるこ
とを特徴とする。
【0045】本発明の第5の態様は、第1の態様におい
て、前記複数のモジュールユニットがロボットモジュー
ルであることを特徴とする。
【0046】本発明の第6の態様は、第5の態様におい
て、前記ロボットモジュールが、側方にスライドするロ
ボットモジュールであることを特徴とする。
【0047】本発明の第7の態様は、第1の態様におい
て、前記複数のモジュールユニットのそれぞれが、前記
情報を取得する少なくとも1つのセンサを備えることを
特徴とする。
【0048】本発明の第8の態様は、第1の態様におい
て、前記複数のモジュールユニットのそれぞれが、前記
オブジェクトを前記情報として検出する少なくとも1つ
のオブジェクトセンサと、そのモジュールユニットに隣
接した前記複数のモジュールユニットのうちの他のモジ
ュールユニットを前記情報として検出する少なくとも1
つの他モジュールユニットセンサと、前記膜が中に配置
されているワールドの壁を前記情報として検出する少な
くとも1つの壁センサとを備えることを特徴とする。
【0049】本発明の第9の態様は、第1の態様におい
て、前記複数のモジュールユニットのそれぞれが、前記
第1の制御方法を実行するプロセッサを備えることを特
徴とする。
【0050】本発明の第10の態様は、第1の態様にお
いて、前記複数のモジュールユニットの少なくとも一部
がそれぞれ、前記情報に基づいて前記機能を決定する第
2の制御方法に基づいて、前記機能を実行することを特
徴とする。
【0051】本発明の第11の態様は、第1の態様にお
いて、前記第1の制御方法がプログラムであることを特
徴とする。
【0052】本発明の第12の態様は、第11の態様に
おいて、前記プログラムが、遺伝プログラミングによっ
て生成されることを特徴とする。
【0053】本発明の第13の態様は、第11の態様に
おいて、前記プログラムが予め定義されることを特徴と
する。
【0054】本発明の第14の態様は、第1の態様にお
いて、前記複数のモジュールユニットのうちの1つの移
動が、前記複数のモジュールユニットのうちの前記1つ
がもう1つ別のモジュールユニットと隣接している場合
にのみ可能であることを特徴とする。
【0055】本発明の第15の態様は、第1の態様にお
いて、前記複数のモジュールユニットのうちの1つの移
動が、前記複数のモジュールユニットのうちの1つの単
独移動であることを特徴とする。
【0056】本発明の第16の態様は、第1の態様にお
いて、前記複数のモジュールユニットのうちの1つの移
動が、前記複数のモジュールユニットのうちの1ライン
のライン移動であることを特徴とする。
【0057】本発明の第17の態様は、第1の態様にお
いて、前記複数のモジュールユニットのそれぞれが、移
動を行うためのモータを備えることを特徴とする。
【0058】本発明の第18の態様は、第1の態様にお
いて、前記複数のモジュールユニットのうちの1つの移
動が、他の隣接したモジュールユニットに対するスライ
ド移動であることを特徴とする。
【0059】本発明の第19の態様は、第1の態様にお
いて、前記複数のモジュールユニットが、前記オブジェ
クトの1つより多くの属性に基づいて、前記膜の前記機
能全体を集合的に実行することを特徴とする。
【0060】本発明の第20の態様は、第1の態様にお
いて、前記複数のモジュールユニットが、1つより多く
のオブジェクトに対して、前記膜の前記機能全体を集合
的に実行することを特徴とする。
【0061】本発明の第21の態様は、第1の態様にお
いて、前記複数のモジュールユニットのそれぞれが、も
う1つ別のモジュールユニット若しくは前記環境との少
なくとも1つの通信リンクによって、前記情報を取得す
ることを特徴とする。
【0062】本発明の第22の態様は、第21の態様に
おいて、前記少なくとも1つの通信リンクが、前記複数
のモジュールユニットのうちの少なくとも1つの他のモ
ジュールユニットとの物理的接触であることを特徴とす
る。
【0063】本発明の第23の態様は、第21の態様に
おいて、前記少なくとも1つの通信リンクが、前記複数
のモジュールユニットのうちの少なくとも1つの他のモ
ジュールユニットとの電気的接続であることを特徴とす
る。
【0064】本発明の第24の態様は、第21の態様に
おいて、前記少なくとも1つの通信リンクが、前記複数
のモジュールユニットのうちの少なくとも1つの他のモ
ジュールユニットとの無線通信リンクであることを特徴
とする。
【0065】本発明の第25の態様は、第1の態様にお
いて、前記第1の制御方法が再プログラム可能であるこ
とを特徴とする。
【0066】本発明の第26の態様は、第1の態様にお
いて、前記情報が、前記複数のモジュールユニットのそ
れぞれのローカル情報であることを特徴とする。
【0067】本発明の第27の態様は、第1の態様にお
いて、前記情報が、前記複数のモジュールユニットの前
記少なくとも一部によって受信された情報に基づいた情
報であることを特徴とする。
【0068】本発明の第28の態様は、第1の態様にお
いて、前記機能が移動であることを特徴とする。
【0069】本発明の第29の態様は、第1の態様にお
いて、前記機能が、前記複数のモジュールユニットのう
ちの1つのモジュールユニットの内部状態における変更
であることを特徴とする。
【0070】本発明の第30の態様は、第1の態様にお
いて、前記情報が第1の属性であることを特徴とする。
【0071】本発明の第31の態様は、第1のモジュー
ルと、前記第1のモジュールに隣接して配置された第2
のモジュールと、少なくとも1つのコントローラと、を
備えた自己再構成可能なロボットであって、前記第1及
び第2のモジュールがそれぞれ、機能回路及びセンサを
備え、前記少なくとも1つのコントローラが第1の制御
プログラムを実行することによって、前記センサにより
取得された情報に基づいて、前記第1及び第2のモジュ
ールに対する機能命令が生成されると共に、前記機能回
路が、前記機能命令に基づいて機能を実行し、前記第1
及び第2のモジュールの前記機能が、前記自己再構成可
能なロボットのフィルタリング機能、分類機能、及び吸
収機能のうちの少なくとも1つの機能全体を集合的に実
行することを特徴とする。
【0072】本発明の第32の態様は、第31の態様に
おいて、前記機能回路が移動モータを作動させることを
特徴とする。
【0073】本発明の第33の態様は、第31の態様に
おいて、前記情報が、前記第1及び第2のモジュールの
それぞれのローカル情報であることを特徴とする。
【0074】本発明の第34の態様は、第31の態様に
おいて、前記情報が、前記第1及び第2のモジュール両
方からの情報であることを特徴とする。
【0075】本発明の第35の態様は、1つの属性を有
する少なくとも1つのオブジェクトに対し、分類機能、
フィルタリング機能、及び吸収機能のうちの少なくとも
1つの機能全体を行う膜を提供する方法であって、それ
ぞれがその周囲の環境に関する情報を取得することので
きる、複数のモジュールユニットを供給するステップ
と、前記複数のモジュールユニットを、互いに隣接して
配置するステップと、前記情報に基づいて、前記複数の
モジュールユニットのそれぞれに対する動作機能を制御
する、制御方法を供給するステップとを含み、前記複数
のモジュールユニットが前記動作機能を個別に実行する
ことによって、前記オブジェクトの前記属性に基づい
て、前記膜の前記機能全体が集合的に実行されることを
特徴とする。
【0076】本発明の第36の態様は、コンピュータが
読取り可能なメモリを含む製品であって、スマート膜の
複数の機能それぞれを実行する、第1の複数のソフトウ
ェア関数と、複数のソフトウェア関数をランダムに選択
して、第1の複数のソフトウェアプログラムを生成す
る、第1のソフトウェアプログラムと、前記第1の複数
のソフトウェアプログラムそれぞれに対する、複数の適
合度関数の値それぞれを取得する、適合度関数と、前記
複数の適合度関数の値それぞれに基づいて、前記第1の
複数のソフトウェアプログラムからの第2の複数のソフ
トウェアプログラムを行う、第2のソフトウェアプログ
ラムとを備えることを特徴とする。
【0077】本発明の第37の態様は、スマート膜用の
ソフトウェアを提供する方法であって、複数のモジュー
ル機能それぞれを実行する、複数のソフトウェア関数を
供給するステップと、前記複数のソフトウェア関数か
ら、目的を解決するための第1の複数のソフトウェアプ
ログラムを構成するステップと、前記第1の複数のソフ
トウェアプログラムを実行して、複数の結果それぞれを
取得するステップと、適合度の値をもたらす目的の適合
度関数を供給するステップと、前記第1の複数のソフト
ウェアプログラムに対する、複数の適合度関数の値それ
ぞれを計算するステップと、前記適合度関数の値それぞ
れに基づいて、前記第1の複数のソフトウェアプログラ
ムから、第2の複数のソフトウェアプログラムを選択す
るステップと、遺伝オペレーションを用いて、前記第2
の複数のソフトウェアプログラムから、第3の複数のソ
フトウェアプログラムを構成するステップとを含むこと
を特徴とする。
【0078】本発明の第38の態様は、周囲の環境に関
する情報を取得する複数のモジュールユニットを有し、
属性を有するオブジェクトに対し機能全体を行う、膜を
制御する方法であって、前記情報に基づいて、前記複数
のモジュールユニットのそれぞれに対する機能を決定す
るステップを含み、前記複数のモジュールユニットのそ
れぞれが前記機能を実行することによって、前記属性に
基づいて、前記膜の前記機能全体が集合的に実行される
ことを特徴とする。
【0079】本発明のこれらの及びその他の特性並びに
利点については、本発明によるシステム及び方法の様々
な一般的な実施の形態に関する以下の詳細な説明に記載
されている、又は以下の詳細な説明より明らかである。
【0080】
【発明の実施の形態】本発明は、関連技術の欠陥及び不
足分を克服する、プログラム可能膜及びその方法であ
る。
【0081】本発明は、アイテムの特性若しくは属性に
依って、アイテムを拒絶、移送、及び/又は吸収するよ
うにプログラムすることのできる、スマート膜を含む。
本発明のスマート膜は、複数のモジュールユニットを備
える。このスマート膜全体は、外部からの援助が一切無
くても再構成することができるという点で、自己再構成
可能である。各モジュールユニットは、その環境に関す
る情報に基づいて、機能を実行する。各モジュールユニ
ットが、それと隣接するモジュールユニットと通信し且
つ相対的に移動することによって、例えばフィルタリン
グのような、膜全体のタスク全体が行われる。このモジ
ュールユニットによって実行される機能は、セントラル
プログラム/方法に基づいている。
【0082】本発明の様々な一般的な実施の形態を、添
付の図面を参照しながら詳細に説明する。
【0083】図1〜図3は、本発明によるスマート膜1
00の1つの一般的な実施の形態を示している。このス
マート膜100は、複数のモジュールユニット110を
備える。この一般的な実施の形態におけるスマート膜1
00は、一方向フィルタとして機能している。その他の
様々な一般的な実施の形態では、本発明によるスマート
膜は、それぞれ図4〜図6、図7〜図9、及び図10〜
図12に示されているように、オブジェクトを多方向に
フィルタリングしたり、分類したり、捕捉/吸収したり
する機能を果たすこともできる、ということは認識され
るべきである。
【0084】図1〜図3に示されているように、スマー
ト膜100は、オブジェクトをフィルタリングして、第
1の属性を有するオブジェクト120には膜100を通
過させ、第2の属性を有するオブジェクト130には膜
100を通過させないようにする。説明の便宜上、第1
の属性を有するオブジェクト120は三角で、第2の属
性を有するオブジェクト130は丸で示されている。
【0085】図1はフィルタリングの初期段階を、図2
はフィルタリングの中間段階を、図3はフィルタリング
の最終段階を示している。図2に示されているように、
一時移送チャネル140が、モジュールユニット110
の作用により生成される。この一時移送チャネル140
は、オブジェクト120に膜100を通過させる。
【0086】この一般的な実施の形態では、モジュール
ユニット110は同一である。しかし、その他の様々な
一般的な実施の形態では、モジュールユニット110は
全てが同一なわけではない、ということは認識されるべ
きである。
【0087】この一般的な実施の形態では、モジュール
ユニット110は、同一セットの命令若しくは方法に基
づいて作動する。しかし、その他の様々な一般的な実施
の形態では、モジュールユニット110全てが、同一の
方法に基づいて作動するわけではない、ということは理
解されるべきである。
【0088】各モジュールユニット110は、そのモジ
ュールユニット周囲の環境に関する情報を得る。様々な
一般的な実施の形態では、この情報はローカル情報であ
る。このローカル情報とは、そのモジュールユニットの
すぐ周囲にある環境に関する情報である。その他の様々
な一般的な実施の形態では、この情報は、モジュールユ
ニット全て即ち膜の環境から得られるグローバル情報で
ある。
【0089】この情報を得る方法は、膜の各用途に基づ
いて様々であってよい。例えば、様々な一般的な実施の
形態では、この情報は、そのモジュールと、それと隣接
するモジュールユニットを含む環境とを、物理的に接触
させることによって得られる。その他の様々な一般的な
実施の形態では、この情報は、そのモジュールユニット
と、それと隣接するモジュールユニットを含む環境と
を、電気的に接続させることによって得られる。
【0090】様々な一般的な実施の形態では、この情報
はセンサによって得られる。このセンサは、いずれの既
知の若しくはこれから開発されるセンサ、或いは、感知
デバイス及び/又は方法であってもよい。様々な一般的
な実施の形態では、このセンサは、モジュールユニット
の上及び/又は中に配置される。様々な一般的な実施の
形態では、このセンサは、オブジェクト120及び13
0、並びに/又は、膜100の環境の境界を検出するた
めのものである。様々な一般的な実施の形態では、この
センサは赤外線センサである。
【0091】その他の様々な一般的な実施の形態では、
この情報は、環境と通信するモジュールユニットによっ
て得られる。例えば、様々な一般的な実施の形態では、
モジュールユニットは、互いに通信する。様々な一般的
な実施の形態では、モジュールユニットは、すぐに隣接
したモジュールユニットとのみ通信する。その他の一般
的な実施の形態では、モジュールユニットは、オブジェ
クト120及び130、並びに/又は、環境の境界と通
信する。いずれの既知の若しくはこれから開発される通
信方法、及び/又は通信デバイスを用いてもよい。様々
な一般的な実施の形態では、この通信は無線通信によっ
て行われる。
【0092】様々な一般的な実施の形態では、モジュー
ルユニットは、センサのみ、或いは通信デバイスのみ、
或いはその両方を備えていてもよい、ということは認識
されるべきである。また、このセンサと通信デバイスと
は、1つのデバイスに組み合わされていてもよい、とい
うことも認識されるべきである。さらに、様々な一般的
な実施の形態では、感知及び通信デバイスを介して得ら
れる情報としては、オブジェクトの特性、即ち、例え
ば、色、大きさ、形状、温度、密度、重量、剛度、弾力
度、電荷、力、反射率、磁束、導電率、摩擦率、圧縮
率、動き、オブジェクトとの通信、以上の属性のうちの
いずれかの時間の経過に伴う変化の仕方、及び、以上の
属性のうちのいずれかのオブジェクトにわたる変動の仕
方が挙げられるが、これらに限定されるわけではない、
ということも認識されるべきである。
【0093】モジュールユニットによって得られたこの
情報は、モジュールユニット110がそれらそれぞれの
機能に関して従属する制御方法に基づいて処理される。
【0094】この情報は、処理された結果、それぞれの
モジュールユニット110に対する機能命令となる。こ
の機能命令とは、モジュールユニット110に特定機能
(単数又は複数)を実行させる命令である。この機能命
令には、モジュールユニット110に何の機能も実行し
ないように命令する、非機能命令も含まれる。この一般
的な実施の形態では、機能命令は、移動、通信、及び内
部状態変更命令である。しかし、この機能命令には様々
な動作/機能が含まれるであろう、ということは認識さ
れるべきである。例えば、様々な一般的な実施の形態で
は、この機能として、環境との通信、他のモジュールユ
ニットとの接続、不動、モジュールユニットの内部状態
変更が挙げられるが、これらに限定されるわけではな
い。
【0095】その他の様々な一般的な実施の形態では、
この機能命令は、それぞれのモジュールユニット110
に対するエフェクタ命令である。例えば、ラッチ用の面
板を有するモジュールユニットは、例えば、その面板を
隣接するモジュールユニットの面板にラッチ又はラッチ
解除することによって、隣接するモジュールユニットに
対して着脱することができる。
【0096】様々な一般的な実施の形態では、この機能
命令は、それぞれのモジュールユニット110に対する
通信命令である。例えば、モジュールユニットは、他の
モジュールユニットに対して、メッセージを送受信する
ことができる。これらのメッセージとしては、あらゆる
タイプの情報の共有や、情報の要求などが挙げられる。
【0097】その他の様々な一般的な実施の形態では、
この機能命令は、モジュールユニットの内部状態を変更
するための命令である。この命令としては、計算結果、
センサ読取り値、又は将来参照用の計画動作を記憶して
いるような、それぞれのモジュールユニット110の内
部メモリの内容を変更する、セントラル方法を変更/修
正するための命令が挙げられるが、これに限定されるわ
けではない。
【0098】機能がモジュールユニットの移動である様
々な一般的な実施の形態では、各モジュールユニットの
移動は、1セットの予め定義された制限に限定される。
例えば、モジュールユニットは、モジュールユニット1
10の移動を制限する物理的構造を有していてもよい。
その他の一般的な実施の形態では、複数のモジュールユ
ニットを合わせて1グループとして保持するように、こ
の移動制限を設定してもよい。特定の移動制限の一例と
しては、モジュールユニットが、少なくとも1つの他の
モジュールユニットと隣接している場合にのみ移動する
ことができる、というものがある。
【0099】各モジュールユニット110がそれぞれの
環境情報にのみ基づいて独立して動作することにより、
膜全体が所望のとおりに動作する。
【0100】個々のモジュールユニット110が従属し
ている方法は、モジュールユニット110がどのように
集合的に動作するかを決定する。様々な一般的な実施の
形態におけるこの制御方法は、コンピュータプログラム
である。様々な一般的な実施の形態では、このコンピュ
ータプログラムは、遺伝プログラミング法を用いて開発
されている。この遺伝プログラミング法としては、例え
ば、2000年7月7日に出願された同時係属出願の米
国特許出願番号第09/611,395号(これは、参
照によりその全体が本明細書中に援用される)に開示さ
れている、自動制御プログラム生成方法が挙げられる
が、これに限定されるわけではない。
【0101】オブジェクト120及び130の第1及び
第2の属性は、方法及びデバイスを得る情報を介してモ
ジュールユニット110により取得若しくは学習するこ
とのできるものであれば、いずれのタイプの属性であっ
てもよい、ということも認識されるべきである。また、
各オブジェクトは複数の属性を有していてもよく、各属
性は時間の経過に伴って且つ実際のオブジェクトにわた
って変化してもよい、ということも認識されるべきであ
る。様々な一般的な実施の形態では、これらの属性とし
ては、色、大きさ、形状、温度、密度、重量、剛度、弾
力度、電荷、力、反射率、磁束、導電率、摩擦率、圧縮
率、オブジェクトの動き、オブジェクトとの通信、以上
の属性のうちのいずれかの時間の経過に伴う変化の仕
方、及び、以上の属性のうちのいずれかのオブジェクト
にわたる変動の仕方があるが、これらに限定されるわけ
ではない。
【0102】様々な一般的な実施の形態では、膜100
は、膜100を起動及び起動停止させるメカニズム(図
示せず)を備える。この起動メカニズムは、膜100の
「オン/オフ」スイッチである。様々な一般的な実施の
形態では、このメカニズムは、既知の若しくはこれから
開発される無線通信方法及びデバイスを介して起動され
る。その他の様々な一般的な実施の形態では、この起動
メカニズムは、ユーザがこのメカニズムを手動で起動さ
せることができるように、膜100又はモジュールユニ
ット110上に配置される。その他の様々な一般的な実
施の形態では、この起動メカニズムは、個々のモジュー
ルユニット110を起動させる複数のデバイスを備え
る。
【0103】図4〜図6は、本発明によるスマート膜2
00の1つの一般的な実施の形態を示している。このス
マート膜200は、複数のモジュールユニット210を
備える。この一般的な実施の形態におけるスマート膜2
00は、オブジェクト220及び230に対する二方向
フィルタとして機能している。この膜200は、二方向
フィルタとして機能していることを除いては、膜100
と同一である、ということは認識されるべきである。即
ち、オブジェクト220及び230が二方向から膜20
0に接近し、膜200がこのオブジェクト220及び2
30をその属性に基づいてフィルタリングすることによ
って、オブジェクト220は膜200の下方にフィルタ
リングされ移動し、オブジェクト230は膜200の上
方にフィルタリングされ移動する。このオブジェクト2
20及び230はオブジェクト120及び130と同一
である、ということも認識されるべきである。図4はフ
ィルタリングの初期段階を、図5はフィルタリングの中
間段階を、図6はフィルタリングの最終段階を示してい
る。図5に示されているように、一時移送チャネル24
0が、モジュールユニット210の機能/作用により生
成される。この一時移送チャネル240は、オブジェク
ト220及び230に、膜200を通過させる。
【0104】図7〜図9は、本発明によるスマート膜3
00の1つの一般的な実施の形態を示している。このス
マート膜300は、複数のモジュールユニット310を
備える。この一般的な実施の形態におけるスマート膜3
00は、オブジェクト320及び330に対する分類機
として機能している。この膜300は、分類機として機
能していることを除いては、膜100と同一である、と
いうことは認識されるべきである。この一般的な実施の
形態では、オブジェクト320及び330が一方向(膜
300の上方)から膜300に接近し、膜300がこの
オブジェクト320及び330をその属性に基づいて分
類することによって、オブジェクト320は膜300下
方領域の第1サイドに分類され、オブジェクト330は
膜下方領域の第2サイドに分類される。このオブジェク
ト320及び330はオブジェクト120及び130と
同一である、ということも認識されるべきである。図7
は分類の初期段階を、図8は分類の中間段階を、図9は
分類の最終段階を示している。図8に示されているよう
に、一時移送チャネル340が、モジュールユニット3
10の機能/作用により生成される。この一時移送チャ
ネル340は、オブジェクト320及び330に、膜3
00を通過させる。
【0105】図10〜図12は、本発明によるスマート
膜400の1つの一般的な実施の形態を示している。こ
のスマート膜400は、複数のモジュールユニット41
0を備える。この一般的な実施の形態におけるスマート
膜400は、オブジェクト420或いは430をその1
つ以上の属性に基づいて吸収する吸収器として機能して
いる。この膜400は、吸収器として機能していること
を除いては、膜100と同一である、ということは認識
されるべきである。この一般的な実施の形態では、オブ
ジェクト420及び430は、膜400の上方から膜4
00に接近する。膜400は、所定の属性(単数又は複
数)を有するオブジェクトのみを吸収する。この実施の
形態では、オブジェクト420が適当な所定の属性を有
しているのに対し、オブジェクト430は適当な所定の
属性を有していない。膜400は、それぞれのオブジェ
クトの属性に基づいて、オブジェクト420を吸収し、
オブジェクト430を膜の中に入れないようにする。こ
のオブジェクト420及び430はオブジェクト120
及び130と同一である、ということも認識されるべき
である。図10は吸収の初期段階を、図11は吸収の中
間段階を、図12は吸収の最終段階を示している。図1
1に示されているように、一時移送チャネル440が、
モジュールユニット410の機能/作用により生成され
る。この一時移送チャネル440は、オブジェクト42
0を膜400内に侵入させる。
【0106】図13は、本発明による一般的なスマート
膜のモジュールユニット500の、1つの一般的な実施
の形態を示すブロック図である。このモジュールユニッ
ト500は、モジュール制御回路/ルーチン/マネジャ
ー510、メモリ520、センサ530、通信回路/ル
ーチン/マネジャー540、及び、機能回路/ルーチン
/マネジャー550を備えており、これらはそれぞれ信
号/データバス512に接続されている。
【0107】センサ530は、上述したように、モジュ
ールユニット500周囲の環境に関する情報を得る、少
なくとも1つのセンサを含む。このセンサ530によっ
て得られた情報は、モジュール制御回路/ルーチン/マ
ネジャー510に送られる。様々なその他の一般的な実
施の形態では、この感知された情報は、評価などのため
に後で呼び出すことができるように、メモリ520に記
憶される。
【0108】通信回路/ルーチン/マネジャー540
は、モジュールユニット500の通信を制御して、上述
したように、モジュールユニット500周囲の環境に関
する情報を得る。様々な一般的な実施の形態では、この
通信回路/ルーチン/マネジャー540は、モジュール
ユニットを制御するのに用いるために、モジュール制御
回路/ルーチン/マネジャー510の新しい方法を得る
ことを含む。この通信回路/ルーチン/マネジャー54
0によって得られた情報は、モジュール制御回路/ルー
チン/マネジャー510に送られる。様々なその他の一
般的な実施の形態では、この通信情報は、評価などのた
めに後で呼び出すことができるように、メモリ520に
記憶される。
【0109】通信回路/ルーチン/マネジャー540と
センサ530とは、1つのデバイスに一体化されたエレ
メントであってもよい、ということは認識されるべきで
ある。
【0110】モジュール制御回路/ルーチン/マネジャ
ー510は、モジュールユニット500の機能を制御す
る方法を含む。このモジュール制御回路/ルーチン/マ
ネジャー510は、この制御方法を実行し、センサ53
0及び通信回路/ルーチン/マネジャー540によって
得られた情報に基づいて機能命令を生成する。この一般
的な実施の形態では、このセンサ530及び通信回路/
ルーチン/マネジャー540によって得られた情報と
は、モジュールユニット500のローカル情報である。
機能命令は、機能回路/ルーチン/マネジャー550に
送られる。様々なその他の一般的な実施の形態では、こ
の機能命令は、評価などのために後で呼び出すことがで
きるように、メモリ520に記憶される。
【0111】機能回路/ルーチン/マネジャー550
は、モジュール制御回路/ルーチン/マネジャー510
からの機能命令に基づいて、機能を実行する。様々な一
般的な実施の形態では、機能回路/ルーチン/マネジャ
ー550は、この機能命令に基づいて、モジュールユニ
ット500の上及び/又は中に配置された移動モータを
制御する。
【0112】図13に示されているメモリ520は、可
変、揮発性、若しくは不揮発性メモリ、又は、不可変、
若しくは固定メモリのうちのいずれの適当な組み合わせ
を用いて実施してもよい。可変メモリは、揮発性であろ
うと不揮発性であろうと、スタティックRAM若しくは
ダイナミックRAM、フロッピー(登録商標)ディスク及
びディスクドライブ、書込み可能若しくは再書込み可能
光ディスク及びディスクドライブ、ハードドライブ、フ
ラッシュメモリなどのうちのいずれの1つ以上を用いて
実施してもよい。同様に、不可変若しくは固定メモリ
は、ROM、PROM、EPROM、EEPROM、例
えばCD−ROMやDVD−ROMディスクのような光
ROMディスク及びディスクドライブなどのうちのいず
れの1つ以上を用いて実施してもよい。
【0113】メモリ520は、センサ530若しくは通
信回路/ルーチン/マネジャー540によって得られた
あらゆる情報、機能回路/ルーチン/マネジャー550
によって生成されたあらゆる情報、又は、モジュール制
御回路/ルーチン/マネジャー510からの機能命令を
記憶することができる。
【0114】さらに、メモリ520をモジュール制御ユ
ニット510に接続しているデータバス512は、ネッ
トワーク(図示せず)への有線リンクであっても無線リ
ンクであってもよい、ということは認識されるべきであ
る。このネットワークは、ローカルエリアネットワー
ク、イントラネット、又はその他いずれの分散処理及び
記憶ネットワークであってもよい。
【0115】図13に示された回路/ルーチン/マネジ
ャーはそれぞれ、適切にプログラムされた汎用コンピュ
ータの一部として実施してもよい、ということも理解さ
れるべきである。或いは、この図13に示された回路/
ルーチン/マネジャーはそれぞれ、ASIC内における
物理的に別個のハードウェア回路/ルーチン/マネジャ
ーとして実施してもよいし、FPGA、PDL、PL
A、若しくはPALを用いて実施してもよいし、離散型
論理エレメント、若しくは離散型回路/ルーチン/マネ
ジャーエレメントを用いて実施してもよい。この図13
に示された回路/ルーチン/マネジャーそれぞれの特定
形式は、設計選択である。
【0116】図14は、本発明による一般的なスマート
膜のモジュールユニット600の、1つの一般的な実施
の形態を示すブロック図である。このモジュールユニッ
ト600は、I/Oインタフェース620、モジュラー
ユニットコントローラ630、メモリ640、センサ6
50、通信回路/ルーチン/マネジャー660、及び、
機能回路/ルーチン/マネジャー670を備えており、
これらはそれぞれ信号/データバス602に接続されて
いる。I/Oインタフェース620は、リンク612に
よって、モジュールコントローラ回路/ルーチン/マネ
ジャー610に接続されている。
【0117】このリンク612は、モジュールコントロ
ーラ回路/ルーチン/マネジャー610をモジュールユ
ニット600に接続することができるものであれば、い
ずれの既知の若しくはこれから開発されるデバイス又は
システムであってもよく、このデバイス又はシステムと
しては、例えば、直接ケーブル接続、ワイドエリアネッ
トワーク若しくはローカルエリアネットワークを介する
接続、イントラネットを介する接続、インターネットを
介する接続、又は、その他のあらゆる分散処理ネットワ
ーク若しくはシステムが挙げられる。通常、このリンク
612は、いずれの既知の若しくはこれから開発される
接続システム又は構造であってもよい。
【0118】センサ650は、上述したように、モジュ
ールユニット600周囲の環境に関する情報を得る、少
なくとも1つのセンサを含む。このセンサ650によっ
て得られた情報は、モジュラーユニットコントローラ6
30の制御下において、I/Oインタフェース620を
介して、モジュールコントローラ回路/ルーチン/マネ
ジャー610に送られる。様々なその他の一般的な実施
の形態では、この感知された情報は、評価などのために
後で呼び出すことができるように、モジュラーユニット
コントローラ630の制御下において、メモリ640に
記憶される。
【0119】通信回路/ルーチン/マネジャー660
は、モジュールユニット600の通信を制御して、上述
したように、モジュールユニット600周囲の環境に関
する情報を得る。この通信回路/ルーチン/マネジャー
660によって得られた情報は、モジュラーユニットコ
ントローラ630の制御下において、I/Oインタフェ
ース620を介して、モジュールコントローラ回路/ル
ーチン/マネジャー610に送られる。様々なその他の
一般的な実施の形態では、この通信情報は、評価などの
ために後で呼び出すことができるように、コントローラ
630の制御下において、メモリ640に記憶される。
【0120】通信回路/ルーチン/マネジャー660と
センサ650とは、1つのデバイスに一体化されたエレ
メントであってもよい、ということは認識されるべきで
ある。
【0121】モジュールコントローラ回路/ルーチン/
マネジャー610は、モジュールユニット600の機能
を制御する方法を含む。このモジュールコントローラ回
路/ルーチン/マネジャー610は、モジュールユニッ
ト600の外側に配置されている。様々な一般的な実施
の形態では、このモジュールコントローラ回路/ルーチ
ン/マネジャー610は、モジュールユニット600か
ら離れて位置している。様々な一般的な実施の形態で
は、このモジュールコントローラ回路/ルーチン/マネ
ジャー610は、制御方法を実行し、センサ650及び
通信回路/ルーチン/マネジャー660によって得られ
た情報に基づいて、機能命令を生成することによって、
モジュールユニット600を分散制御する。その他の様
々な一般的な実施の形態では、このモジュールコントロ
ーラ回路/ルーチン/マネジャー610は、制御方法を
実行し、センサ650及び通信回路/ルーチン/マネジ
ャー660によって得られた情報、並びにその他のモジ
ュールユニットによって得られた情報に基づいて、機能
命令を生成することによって、モジュールユニット60
0を集中制御する。機能命令は、I/Oインタフェース
620を介して、機能回路/ルーチン/マネジャー67
0に送られる。様々なその他の一般的な実施の形態で
は、この機能命令は、評価などのために後で呼び出すこ
とができるように、I/Oインタフェース620を介し
て、メモリ640に記憶される。
【0122】機能回路/ルーチン/マネジャー670
は、モジュールコントローラ回路/ルーチン/マネジャ
ー610からの機能命令に基づいて、機能を実行する。
様々な一般的な実施の形態では、機能回路/ルーチン/
マネジャー670は、この機能命令に基づいて、モジュ
ールユニット600の上及び/又は中に配置された移動
モータを制御する。
【0123】図14に示されているメモリ640は、可
変、揮発性、若しくは不揮発性メモリ、又は、不可変、
若しくは固定メモリのうちのいずれの適当な組み合わせ
を用いて実施してもよい。可変メモリは、揮発性であろ
うと不揮発性であろうと、スタティックRAM若しくは
ダイナミックRAM、フロッピー(登録商標)ディスク及
びディスクドライブ、書込み可能若しくは再書込み可能
光ディスク及びディスクドライブ、ハードドライブ、フ
ラッシュメモリなどのうちのいずれの1つ以上を用いて
実施してもよい。同様に、不可変若しくは固定メモリ
は、ROM、PROM、EPROM、EEPROM、例
えばCD−ROMやDVD−ROMディスクのような光
ROMディスク及びディスクドライブなどのうちのいず
れの1つ以上を用いて実施してもよい。
【0124】メモリ640は、センサ650若しくは通
信回路/ルーチン/マネジャー660によって得られた
あらゆる情報、機能回路/ルーチン/マネジャー670
によって生成されたあらゆる情報、又は、モジュールコ
ントローラ回路/ルーチン/マネジャー610からの機
能命令を記憶することができる。
【0125】さらに、メモリ640をモジュラーユニッ
トコントローラ630に接続しているデータバス602
は、ネットワーク(図示せず)への有線リンクであって
も無線リンクであってもよい、ということは認識される
べきである。このネットワークは、ローカルエリアネッ
トワーク、イントラネット、又はその他いずれの分散処
理及び記憶ネットワークであってもよい。
【0126】図14に示された回路/ルーチン/マネジ
ャーはそれぞれ、適切にプログラムされた汎用コンピュ
ータの一部として実施してもよい、ということも理解さ
れるべきである。或いは、この図14に示された回路/
ルーチン/マネジャーはそれぞれ、ASIC内における
物理的に別個のハードウェア回路/ルーチン/マネジャ
ーとして実施してもよいし、FPGA、PDL、PL
A、若しくはPALを用いて実施してもよいし、離散型
論理エレメント、若しくは離散型回路/ルーチン/マネ
ジャーエレメントを用いて実施してもよい。この図14
に示された回路/ルーチン/マネジャーそれぞれの特定
形式は、設計選択である。
【0127】以下の説明は、本発明のスマート膜の一般
的な実施の形態に関するものである。本発明のスマート
膜は、様々な実施の形態を取ってもよく、以下の一般的
な実施の形態に限定されるべきではない、ということは
認識されるべきである。本発明のスマート膜の様々な一
般的な実施の形態には、この膜をモジュラーロボットと
するものが含まれる。
【0128】本発明によるモジュラーロボットスマート
膜は、例えば、色、大きさ、形状、又は、感知若しくは
測定可能なその他のあらゆる属性(これらに限定される
わけではない)のような、様々なセットの特性若しくは
属性に基づいて、オブジェクトに対し、能動的にフィル
タリング、分類、吸収などを行うことのできる、自己再
構成可能なモジュラーロボットデバイスである。本発明
のモジュラーロボットスマート膜は、複数のロボットモ
ジュール若しくはモジュラーハードウェアを備える。
【0129】自己再構成することのできるモジュラーハ
ードウェアは、通常、自己再構成可能モジュラーロボッ
トと呼ばれる。自己再構成可能モジュラーロボットと
は、それぞれが独自の電源、モータ、計算法、メモリ、
及びセンサを有する、多数のモジュールで構成されたロ
ボットである。これらのモジュールは、移動してタスク
若しくは機能を実行するために、モータと、モジュール
を互いに着脱させることのできる止め金と、を有してい
る。個々のモジュールは、独力ではほとんど何もできな
いが、ロボットがこの個々のモジュールの能力を用いる
だけで、自己再構成し、必要に応じて異なるタスクを実
行することができる。様々な一般的な実施の形態では、
これらのロボットモジュールは、同一の構成要素であ
る。
【0130】様々な一般的な実施の形態では、このモジ
ュラーロボットを制御するモジュラーロボット制御ソフ
トウェアは、人間或いは機械がセントラルコントローラ
を参照しなくてもタスクを実行することができるよう
に、完全に分散化され且つ完全に自律的であるのが好ま
しい。様々な一般的な実施の形態では、本発明によるモ
ジュラーロボット制御ソフトウェアは、遺伝プログラミ
ングを用いて生成されている。本明細書中に援用され
る、2000年7月7日に出願された米国特許出願番号
第09/611,395号には、遺伝プログラミングを
用いて制御ソフトウェアを生成する一般的な方法が開示
されている。しかし、この制御ソフトウェアは、いくつ
かの異なる技法によって生成することができ、予め決定
若しくは供給されていてもよい、ということは認識され
るべきである。
【0131】スマート膜は、自己再構成可能モジュラー
ロボットであれば、いずれを用いて実施してもよく、こ
のモジュラーロボットとしては、例えば、以下に挙げる
ようなタイプの自己再構成可能モジュラーロボットがあ
る。
【0132】自己再構成可能モジュラーロボットの1つ
のタイプとしては、例えばダートマス(Dartmouth)で開
発された結晶体ロボット(Crystalline Robot)のよう
な、互いにすれ違うようにスライド可能な立方体モジュ
ールから構成される、圧縮可能モジュラーロボットがあ
る。これらのロボットは、一方向又は他方向への2つの
ファクターの1つによりその立方体と接触するモータを
介してのみ、移動が可能である。二次元及び三次元両方
のバージョンが可能である。
【0133】自己再構成可能モジュラーロボットの別の
タイプとしては、ゼロックス パルク(Xerox PARC)のプ
ロテオ(Proteo)ロボットのような、モジュールが、その
頂点(二次元)又は辺(三次元)におけるヒンジを介し
て互いに対して回転する、回転モジュラーロボットが挙
げられる。この個々のモジュールは、二次元では正方形
や六角形、又は三次元ではプロテオに用いられた立方体
や斜方十二面体のような、異なる形状であってもよい。
【0134】自己再構成可能モジュラーロボットの別の
タイプとしては、ゼロックス パルクのポリボット(Pol
ybot)のような、モジュールが、楔形に収縮すると共に
互いに着脱することのできる立方体である、柱状結合モ
ジュラーロボットが挙げられる。このモジュールの構造
には、他のモジュールに時折取り付けられて、例えば、
ヘビ型、クモ型、及びタンク−トレッド型のロボットを
形成する、長いストリング状の要素が含まれる。
【0135】自己再構成可能モジュラーロボットの1つ
のタイプとしては、USCのISIのスパイダー連結(S
pider Link)ロボットのような、互いに対して回転する
ことのできる、回転結合モジュラーロボットが挙げられ
る。同じく、このモジュールの構造にも、他のモジュー
ルに時折取り付けられる、長いストリング状の要素が含
まれる。
【0136】自己再構成可能モジュラーロボットの別の
タイプとしては、CMUのIキューブ(I-cube)及びダー
トマスの分子ロボット(Molecule Robot)のような、互い
に着脱すると共に互いに対して回転することのできる2
つのタイプのモジュール、即ち立方体及び連結部から構
成される、複合ユニットモジュラーロボットが挙げられ
る。
【0137】図15は、モジュラーロボットであるスマ
ート膜700の、1つの一般的な実施の形態を示す概略
図である。この膜700は、複数のロボットモジュール
710を備える。この一般的な実施の形態では、スマー
ト膜700は、外部オブジェクト720及び730を形
状によって分類する。オブジェクト720は正方形であ
り、オブジェクト730は丸である。
【0138】膜700は、複数の壁742を含むワール
ド740内に配置される。この膜700全体の目的若し
くは機能は、正方形のオブジェクト720には膜700
を通過させ、丸のオブジェクト730には膜700を通
過させないようにすることである。正方形と丸の両方の
外部オブジェクト720及び730は、膜の上方から、
即ち膜700の第1サイド702上において、膜700
と接触する。この膜700は、正方形のオブジェクト7
20にはワールド740の底部へ向けて通過させ、丸の
オブジェクト730には膜700の第2サイド704を
通過させないように、自己構成する。
【0139】このスマート膜700のフィルタリング性
能は、その構成要素であるロボットモジュール710の
単純な動きから成る。様々な一般的な実施の形態では、
モジュール710は、膜700全体が所望の動作を行う
ために各モジュール710が取る必要のある動きを決定
する、中央処理装置(図示せず)によって制御される。
次に、この情報は、関係するモジュールに伝搬される。
この中央処理装置は、いずれの既知の若しくはこれから
開発される処理デバイスであってもよい。
【0140】その他の様々な一般的な実施の形態では、
膜700の制御は、分散制御パラダイムに基づいて行わ
れる。分散制御に関し、各モジュール710は、それぞ
れ独自のプロセッサを有しており、センサ及び他のモジ
ュールとのインターアクションによって供給される情報
を用いて、次に取る動きを決定する。
【0141】様々な一般的な実施の形態では、各モジュ
ール710は、同じ制御プログラムを実行しており、膜
全体の適切なフィルタリング動作は、このプログラム、
センサ読取り値、及び他のモジュール710との通信に
より決定される、個々のモジュール710の動作から成
る。
【0142】モジュール710は全て、それらの制御プ
ログラムを実行するが、個々のセンサ値、内部状態、及
び隣接したモジュールから受信したメッセージに依っ
て、様々に動作する。
【0143】この制御プログラムは、遺伝プログラミン
グ法から生成することができ、この遺伝プログラミング
法としては、例えば、本明細書中に援用される、200
0年7月7日に出願された米国特許出願番号第09/6
11,395号に開示されている方法が挙げられるが、
これに限定されるわけではない。その他の様々な一般的
な実施の形態では、この制御プログラムは、いずれの既
知の若しくはこれから開発される学習プログラミング法
によって生成されてもよい。また、この制御プログラム
は、いずれの予め定義されたプログラムであってもよ
い。
【0144】遺伝プログラミングとは、解決する問題の
記述レベルが高くても、その問題を解決するコンピュー
タプログラムを生成することのできる、進化計算法であ
る。遺伝プログラミングについては、ジョン R.コザ
(John R. Koza)による「遺伝プログラミング:自然選択
の手段によるコンピュータのプログラミングについて
(“Genetic Programming: On the Programming of Comp
uters by Means of a Natural Selection”)」(マサチ
ューセッツ州、ケンブリッジ:MIT出版、1992年
(Cambridge, MA: MIT Press 1992))(これは、参照に
よりその全体が本明細書中に援用される)に記載されて
いる。
【0145】以下は、本発明による、制御プログラムが
遺伝プログラミングにより生成される方法の、1つの一
般的な実施の形態に関する説明である。遺伝プログラミ
ングを用いてコンピュータプログラムを生成するには、
解決する問題に対する目的関数、プログラムを組み立て
るのに用いる1セットのプリミティブ関数、数個のパラ
メータ、並びに、各プリミティブ関数に対するリターン
タイプ、引数の数、及び引数のタイプを、アルゴリズム
に供給する必要がある。
【0146】遺伝プログラミング法は、目的言語におけ
る文法的に正当なランダムプログラムの母集団を生成す
ることにより始まる。この母集団における各プログラム
の適合度は、各プログラムを実行し、そのプログラムが
どんな値の目的関数を取るかを測定することによって、
決定される。
【0147】次に、コンピュータプログラムの既存の母
集団を用いて、遺伝オペレータを用いるコンピュータプ
ログラムの新しい母集団が生成される。この遺伝オペレ
ータは、コンピュータプログラムの適合度に応じて適用
されることによって、より適合するプログラムがより頻
繁に用いられて、新しいコンピュータプログラムが生成
される。つまり、より適合するプログラムがより頻繁に
選択されて、次の世代における新しいコンピュータプロ
グラムの生成に対する「親」となる。
【0148】用いられる遺伝オペレーションは、交差オ
ペレーション、突然変異オペレーション、及びクローニ
ングオペレーションである。
【0149】交差オペレーションは、2つの適合度選択
された「親」コンピュータプログラムのパーズツリー表
現を取り出して、この2つの親間においてランダムに選
択されたサブツリーを交換することにより、2つの新し
い「子」プログラムを生成する。
【0150】突然変異オペレーションは、1つの適合度
選択されたコンピュータプログラムのパーズツリー表現
を取り出し、そのサブツリーのうちの1つをランダムに
選択し、そのサブツリーをランダムに生成された新しい
サブツリーと交換する。
【0151】クローニングオペレーションは、1つの適
合度選択されたコンピュータプログラムを取り出し、そ
のコピーを生成してプログラムの新しい母集団に含め
る。
【0152】前の母集団に対し遺伝オペレーションを行
うことによって完全に新しい母集団が生成されると、前
と同じように、新しい母集団における各プログラムの適
合度が適合度/目的関数を用いて測定される。
【0153】プログラムの新しい母集団を生成してそれ
らの適合度を測定するこの処理は、最適な値の適合度関
数を取るコンピュータプログラムが発見されるまで、又
はこの処理が終わるまで繰り返される。この処理の結
果、コンピュータプログラムは、最良の値の適合度関数
を有する。
【0154】1つの一般的な実施の形態では、各モジュ
ールユニットに対して進化されたコンピュータプログラ
ムを実行して、模擬ワールドにおけるモジュラーロボッ
トスマート膜のシミュレーションを制御することによ
り、適合度関数を計算する。この計算された目的関数の
値は、そのモジュラーロボットが目標タスクに対してど
のぐらい良く機能したかということを測定したものであ
る。例えば、この適合度関数は、いくつの外部オブジェ
クトが膜を越えて正確に分類されるかを測定したもので
あってもよい。この適合度関数が測定する各プログラム
の特性は多数あってもよい、ということは認識されるべ
きである。これらのプログラムは、評価された特性に基
づいて比較され、どのプログラムが目標に対する最良の
解決法を有しているかが判定される。さらに、所望の目
標に対する最良のプログラムを決定するには、いずれの
既知の若しくはこれから開発される多目的最適化方法を
用いてもよい、ということも認識されるべきである。
【0155】適合度関数(若しくは目的関数)は、解決
されている特定のタスク若しくは目標に対する遺伝プロ
グラミングシステムに供給されなければならない。様々
な一般的な実施の形態では、通常、この関数は、個々の
モジュールが良く機能するほど、その適合度の値が低く
なるように定義されている。この適合度関数の一例とし
ては、誤って受容される不適切オブジェクトの数と、膜
により誤って拒絶される適切オブジェクトの数とを合計
したものがある。また、この適合度関数としては、問題
を解決するのにかかる時間や、問題を解決するのに用い
られる電力量などのような事項に関する、不利益も挙げ
られる。
【0156】各モジュールにおける各分散コントローラ
は、ワールドにおけるモジュラーロボットのシミュレー
ションを実行することにより評価される。この評価にお
いて、各モジュールは、独自の分散コントローラコピー
によって制御される。このシミュレーションは、全ての
壁及びオブジェクト、並びに、ワールドにおける各ロボ
ットモジュールの位置を含む、ワールドの状態を追跡す
る。
【0157】一例である実施の形態では、シミュレーシ
ョンの各ターンにおいて、ロボットモジュールがそれぞ
れ1度に1つずつ実行される。別の実施の形態では、ロ
ボットモジュール全てが同時に実行される。このシミュ
レーションは、ターンの予め特定された最大数分、或い
はコンピュータ時間の予め特定された最大量分、或いは
何か他の予め定義された停止条件が満たされるまで実行
される。
【0158】進化されたコンピュータプログラムを構成
するプリミティブ関数は、遺伝プログラミングシステム
に供給される。様々な一般的な実施の形態では、設計者
がこのプリミティブ関数を供給する。その他の様々な一
般的な実施の形態では、別のコンピュータプログラムが
このプリミティブ関数を供給する。プリミティブ関数を
供給できる方法は他にも多数あり、この方法としては、
例えば、モジュールの関数を決定するためにモジュール
を照会し、その照会の結果に基づいてプリミティブ関数
を生成する、プログラムが挙げられるが、これに限定さ
れるわけではない、ということは認識されるべきであ
る。
【0159】様々な一般的な実施の形態では、各プリミ
ティブ関数のインプリメンテーションが、遺伝プログラ
ミングシステムに供給される。様々な一般的な実施の形
態では、各プリミティブ関数のリターンタイプ及びパラ
メータタイプも供給される。このプリミティブ関数の例
としては、演算関数、ブール関数、ループ構成体、条件
関数などがある。様々な一般的な実施の形態では、ロボ
ットモジュールのセンサ、内部状態、及びモータにアク
セスするためのプリミティブ関数も用いられる。
【0160】様々な一般的な実施の形態では、進化され
たコンピュータプログラムに対する言語が定義される。
様々な一般的な実施の形態では、この言語は、その言語
に対する明示的なBNF文法を供給することにより定義
される。また、この言語は、その言語における各プリミ
ティブ関数のリターンタイプ及びパラメータタイプを特
定することによっても定義することができる。この場
合、そのセット全体のプリミティブ関数のタイプを一緒
に特定すると、その言語に対する暗示的な文法が定義さ
れる。
【0161】様々な一般的な実施の形態では、遺伝プロ
グラミングシステムに供給されるパラメータとして、以
下のものが挙げられる。 a.母集団の大きさ(即ち、考えられているプログラム
の数) b.交差、突然変異、及びクローニングオペレーション
を行う割合 c.生成するコンピュータプログラムの最大深さ(即
ち、母集団の最初の大きさ以外は、この制約条件が、生
成されるプログラムの数の大きさを制御する) d.ランの初めにおいてランダムに生成するコンピュー
タプログラムの最大深さe.突然変異に対して生成する
サブプログラムの最大深さ f.適合度評価の際に用いるコンピュータ時間若しくは
シミュレーションステップの最大量
【0162】上に挙げたa〜fのパラメータは特定の値
に設定する必要はない、ということは認識されるべきで
ある。さらに、アルゴリズムを用いて、人間が一切介入
することなくこれらのパラメータを自動的に決定しても
よい、ということも理解されるべきである。
【0163】この方法は、各モジュールにおいて実行さ
れると共に、プログラム可能なスマート膜全体に所望の
分類動作を行わせることのできる、プログラムを出力す
る。
【0164】以下の説明は、本発明によるモジュラーロ
ボットスマート膜の1つの一般的な実施の形態に関する
ものである。しかし、本発明によるモジュラーロボット
スマート膜は、その他多数の実施の形態を含んでいても
よい、ということは認識されるべきである。
【0165】図16は、本発明による制御プログラムを
生成する方法の、1つの一般的な実施の形態を示すフロ
ーチャートである。図16は、本発明の1つの実施の形
態の特定関数を示しているが、別の実施の形態では、よ
り多くの又はより少ない関数を用いてもよい、というこ
とは認識されるべきである。本発明の1つの実施の形態
では、図16に示したステップ/関数は、ソフトウェア
プログラム、ソフトウェアオブジェクト、ソフトウェア
関数、ソフトウェアサブルーチン、コードフラグメン
ト、ハードウェアオペレーション、ユーザオペレーショ
ンを、単独で又は組み合わせて表してもよい。
【0166】この方法は、ステップS800で始まり、
ステップS805に進む。このステップS805では、
本明細書中に説明したように、複数のソフトウェア関数
が得られる。ステップS810では、本明細書中に説明
したように、この複数のソフトウェア関数のうちの1セ
ットがランダムに選択されて、問題を解決するための第
1の複数のソフトウェアプログラムが提供される。
【0167】ステップS815では、本明細書中に説明
したように、適合度関数が用いられ、それぞれの適合度
関数の値を計算することにより、第1の複数のソフトウ
ェアプログラムが評価される。様々な一般的な実施の形
態では、適合度関数はユーザによって供給される。
【0168】ステップS820では、本明細書中に説明
したように、第1の複数のソフトウェアプログラムか
ら、そのそれぞれの適合度関数の値に基づいて、第2の
複数のソフトウェアプログラムが選択される。様々な一
般的な実施の形態では、この第2の複数のソフトウェア
プログラムは、第1の複数のソフトウェアプログラムの
複写ソフトウェアプログラムを含む。
【0169】ステップS825では、本明細書中に説明
したように、交差、突然変異、及びクローニングのよう
な遺伝オペレーションを単独で又は組み合わせて行うこ
とにより、第2の複数のソフトウェアプログラムが変更
される。
【0170】ステップS830では、別の複数のプログ
ラムを構成するかどうか、即ち、新しい世代若しくは母
集団を形成するかどうかという決定が成される。
【0171】新しい世代のソフトウェアプログラムが望
まれる場合、この方法はステップS815に戻り、ステ
ップS815〜S825が繰り返される。そうでない場
合には、この方法はステップS835に進み、このステ
ップS835では、本明細書中に説明したように、適合
度関数が最も低いモジュールのソフトウェアプログラム
が、制御プログラムとして選択される。
【0172】図17は、複数のロボットモジュール91
0を備えるモジュラーロボットスマート膜900の、1
つの一般的な実施の形態を概略的に示している。この膜
900は、色に基づいて、オブジェクトをフィルタリン
グする。オブジェクト920は第1の色を有し、オブジ
ェクト930は第2の色を有する。この第2の色は、第
1の色以外であれば、いずれの色であってもよい。オブ
ジェクト930の第2の色は、全てが同じ色でなくても
よい。
【0173】膜がそのセンサ、処理、及びメモリ性能を
用いることによって計算することのできるものであれ
ば、いずれのセットの特性も、フィルタリングの基準と
して用いることができる、ということは理解されるべき
である。
【0174】この一般的な実施の形態では、オブジェク
ト920及び930は、ロボットモジュール910一個
分の大きさである。しかし、このオブジェクト920及
び930は、ロボットモジュール910一個分より大き
くても小さくてもよい、ということは認識されるべきで
ある。
【0175】まず、オブジェクト920及び930が、
スマート膜900の上部に置かれる。膜900は、第2
の色を有するオブジェクト930が膜900の上方に残
り、第1の色を有するオブジェクト920がワールド9
40の底部へ移動するように、自己再構成する。様々な
一般的な実施の形態では、膜900は、フィルタリング
後、初期位置に近い位置に戻る必要があるが、膜内の個
々のモジュール910は、元の位置に近い位置に戻らな
くてもよい。
【0176】この一般的な実施の形態では、モジュラー
ロボットスマート膜900に対する制御ソフトウェアを
進化させるのに用いられる模擬ワールド940は、一辺
が10ユニットの正方形である。この一般的な実施の形
態では、この壁ユニットは、モジュールユニット910
と同じ大きさである。しかし、その他の様々な一般的な
実施の形態では、この壁ユニットの大きさは様々であっ
てよい、ということは理解されるべきである。この一般
的な実施の形態では、ワールド940は、10 2=10
0グリッド位置に分けられる。このワールド全体の周辺
グリッド位置は、ロボットモジュールが通過することの
できない壁境界オブジェクトを含む。
【0177】この一般的な実施の形態では、各ロボット
モジュール910は、ワールド940における1つのグ
リッド位置を占める正方形をしている。ロボットモジュ
ールの状態としては、ワールドにおけるその位置、8方
向それぞれにおいて隣接するロボットモジュールから受
信した最も新しいメッセージの値、そのレジスタの値、
センサの現在値、及びモジュールの正面方向が挙げられ
る。
【0178】この一般的な実施の形態では、方向は、
[0.0, 1.0]における実数値としてコード化される。方向
0.0はロボットモジュール910の正のx軸であり、方
向値は反時計回りに増加していく。各ロボットモジュー
ル910によって用いられるこの方向値は、各モジュー
ル910の基準枠912に対してローカルな値である。
通常、ロボットモジュール910の正面方向は方向0.0
であり、例えば、方向0.25は正面方向から左に90度の
方向である。その他の様々な一般的な実施の形態では、
この方向値はとびとびではなく連続している。
【0179】センサには3つのタイプがあり、1つは壁
を検出するためのセンサ、1つは他のロボットモジュー
ルを検出するためのセンサ、1つは外部オブジェクトを
検出するためのセンサである。モジュールはそれぞれ、
各タイプのセンサを8つ有しており、この8つのセンサ
は、異なる方向に向いている。このセンサの8方向と
は、0.0=東、0.125=北東、0.25=北、0.375=北西、
0.5=西、0.625=南西、0.75=南、0.875=南東であ
る。これらのセンサの値は、[0.0, 1.0]における輝度の
単位で示される。この輝度は感知された物までの距離の
逆数であって、0.0は物が全く感知されなかったことを
意味し、1.0は物がグリッド位置のすぐ近くで感知され
たことを意味する。
【0180】ロボットモジュール910は、互いに相関
して移動することができる。この一般的な実施の形態で
は、モジュール910は、東、北、西、南の4方向に移
動する。この実施の形態では、個々のロボットモジュー
ル910は、隣接したロボットモジュール910に対し
スライドすることによって移動する。この一般的な実施
の形態では、ロボットモジュール910は、そのモジュ
ールに対し動作方向から90度の角度で隣接する、別の
ロボットモジュール910に沿ってそのモジュール自体
を押し付けることにより移動する。同様に、ロボットモ
ジュール910は、そのモジュールに対し動作方向にお
いて斜めに隣接する、別のロボットモジュールを引っ張
ることができる。このタイプの移動を伴うモジュール
は、ジョン・ホプキンス大学(Johns Hopkins Universit
y)で実施されてきた。これについては、アミット パメ
カ(Amit Pamecha)、イム エバート−アップホフ(Imme
Ebert-Uphoff)、グレゴリー エス.チリキアン(Gregor
y S. Chirikjian)による「モジュラーロボット動作プラ
ニングのための有用なメートル法(“A Useful Metrics
for Modular Robot Motion Planning”)」(ロボット及
びオートメーションに関するIEEE会報、531〜5
45頁、第13巻、第4号、1997年8月(IEEE Tran
sactions on Robots and Automation, pp 531-545, Vo
l. 13, No. 4, August 1997)(これは、参照によりその
全体が本明細書中に援用される)を参照されたい。この
一般的な実施の形態に関しては、パメカにより開示され
たモジュールに、感知、通信、及び処理性能が追加され
ている。
【0181】この一般的な実施の形態では、ロボットモ
ジュール910は、異なるタイプの移動を開始すること
によって、膜900を再構成する。この一般的な実施の
形態では、モジュール910の移動タイプとして、単独
移動とライン移動とがある。
【0182】図18(a)〜(c)はそれぞれ、3つに分か
れたステップにおいて、時間の経過に伴う2つのモジュ
ール910a及び910bの単独移動を示している。こ
の単独移動とは、1つのモジュールの移動である。この
単独移動は、移動ロボットモジュール910が、「x」
及び「y」で識別された空きグリッド位置に移動してい
る場合に有益である。
【0183】図19(a)、(b)は、2つのステップにお
いて、時間の経過に伴う1ラインのロボットモジュール
910cのライン移動を示している。このライン移動と
は、ライン全体のロボットモジュール910cの移動で
ある。このライン移動は、ラインにおける一番前のモジ
ュール910dが、「w」で識別された空きグリッド位
置に移動している場合に有益である。ライン移動は、1
ラインのロボットモジュールにおけるいずれのロボット
モジュール910によって開始されてもよい。
【0184】この一般的な実施の形態では、オブジェク
ト920及び930は、ロボットモジュール910と同
じ大きさの非動作モジュールである。しかし、これらの
オブジェクトは、ロボットモジュール910と同じ大き
さでなくてもよく、大きさにばらつきがあってもよい、
ということは理解されるべきである。ロボットモジュー
ル910は、他のロボットモジュールに対してできるの
と同じように、これらの非動作モジュールを押したり引
いたりすることができる。
【0185】以下の論議は、前述した一般的な膜の制御
プログラムを進化させる、1つの一般的な実施の形態に
関するものである。この一般的な実施の形態では、個々
のプログラムの適合度は、24の模擬ワールドにわたる
適合度の加重平均として計算される。個々のプログラム
の適合度は、複数の模擬ワールドにわたる適合度の加重
平均として計算される。その他の様々な一般的な実施の
形態では、個々のプログラムの適合度は、1つの模擬ワ
ールドに基づいていてもよい、ということは認識される
べきである。
【0186】この一般的な実施の形態では、各模擬ワー
ルドの初期状態は、スマート膜のモジュールが、左壁9
46から右壁948へ8ユニット分延び且つ垂直方向に
おいて中心に位置する長方形に配列された状態に、設定
される。この実施の形態では、24の模擬ワールドのう
ちの12においては、膜900はモジュール910三個
分の高さを有しており、その他の12においては、膜9
00はモジュール910四個分の高さを有している。各
モジュール910は、正面方向を有している。この一般
的な実施の形態では、各モジュール910の正面方向
と、モジュール910のプログラムが実行される順序と
は、各ワールドに対してランダムに決定される。これら
の要素は予め定義若しくは予め設定されてもよい、とい
うことは認識されるべきである。
【0187】適合度を測定するのに用いられる各模擬ワ
ールドには、膜900の上部に置かれたフィルタリング
されるオブジェクト(第1の色を有するオブジェクト9
20或いは第2の色を有するオブジェクト930)も含
まれる。膜900の目標は、オブジェクトをフィルタリ
ングすることによって、第2の色を有するオブジェクト
930が膜900の上方に残り、第1の色を有するオブ
ジェクト920が膜900を通過して膜900の下方に
来るようにすることである。
【0188】この一般的な実施の形態では、オブジェク
トの可能水平位置の代表サンプルが、24の適合度ワー
ルドに含まれている。これらのワールドのうちの6つに
おいては、膜の上方に最初に現れるオブジェクトは、第
2の色を有するオブジェクト930であり、この場合、
オブジェクト930は全く移動する必要がない。その他
の18のワールドにおいては、膜の上方に最初に現れる
オブジェクトは、第1の色を有するオブジェクト920
であり、膜900は、このオブジェクト920を膜90
0の反対側へ通過させなくてはならない。
【0189】特定ワールドに対する個々のプログラムの
適合度を評価するには、プログラムが、その模擬ワール
ドにおける各モジュールに対して導入される。次に、ロ
ボットモジュール910が、1度に1つずつ順番にその
プログラムを実行する。この一般的な実施の形態では、
個々のモジュール910によってプログラムを実行する
順序は、その特定ワールドに対してランダムに選択され
る。ロボットモジュールによるプログラムの実行全ての
シーケンスが、シミュレーション「ターン」である。こ
の一般的な実施の形態では、特定プログラムの適合度
は、10のシミュレーションターン毎に、この適合度に
より与えられる値を平均することによって決定される。
この実施の形態では、適合度の値が低いほど良く、この
個々のプログラムが進化される次の世代において子孫を
有しやすくする。
【0190】この一般的な実施の形態に関しては、この
適合度の値は、2つの測定値の加重和である。第1の測
定値は、膜900に対するオブジェクト920又は93
0の位置である。第2の測定値は、膜900の現在の絶
対位置である。その他の様々な一般的な実施の形態で
は、この適合度の値は、2つより多い又は少ない測定値
に基づいていてもよい、ということは認識されるべきで
ある。
【0191】第1の測定値は、オブジェクト920又は
930からモジュール910までの垂直方向寸法におけ
る平均オフセットにより、最も望ましくない変位の一部
として決定される。例えば、このオブジェクトが第1の
色を有するオブジェクト920である場合、この項は、
オブジェクト920が膜モジュール910全ての下方に
来るように再構成することにより、最小化することがで
きる。この項は、確実に各オブジェクトが適切な最終位
置に来るようにする効果を有する。
【0192】第2の測定値は、膜900の開始位置の水
平方向中心軸950からの各モジュール910の平均絶
対変位により決定される。この測定値は、オブジェクト
920又は930がフィルタリングされている間に、膜
900の元の構造及び位置をそのままに保持できないプ
ログラムを不利にする。
【0193】1つの一般的な実施の形態では、進化工程
の間に生成される各分散コントローラプログラムは、以
下に示すBNF文法により定義される言語の正当なイン
スタンスである。この一般的な文法では、開始記号は<p
rogram>である。言語文法:
【外1】
【0194】以下は、上の一般的な関数の説明である。 A.(sendMessage message direction) この関数は、送信モジュールの基準枠に関し、方向dire
ctionにおいて、その送信モジュールから(もしあれ
ば)隣接したモジュールへ、実数値メッセージmessage
を送信する。このdirectionは、mod 1と解釈され、次
に、最も近い8方向のうちの1つに丸められて、隣接し
た8つのグリッド位置のうちの1つを示す。この関数
は、送信されたメッセージの値を戻す。
【0195】B.(readMessage direction) この関数は、その送信モジュールから相対方向directio
nに位置する(もしあれば)その隣接したモジュールか
らの、その実数値メッセージを読み取る。このdirectio
nは、mod 1と解釈され、次に、最も近い8方向のうちの
1つに丸められて、隣接した8つのグリッド位置のうち
の1つを示す。この関数は、読み取られたメッセージの
値を戻す。
【0196】C.(rotate direction) この関数は、direction量だけロボットモジュールを回
転させる。これは、モジュールを物理的に動かすのでは
なく、ロボットモジュールの内部正面方向の内部状態を
再設定するだけである。この関数は、directionの値を
戻す。
【0197】D.(setRegister index value) この関数は、indexからvalueまで番号付けされたロボッ
トモジュールのレジスタの値を設定する。この関数は、
valueを戻す。
【0198】E.(getRegister index) この関数は、indexを番号付けされたロボットモジュー
ルのレジスタの現在値を得る。この関数は、レジスタの
値を戻す。
【0199】F.(readSensorSelf direction) この関数は、自己センサの輝度の値を読み取る。この輝
度は、相対方向directionにおける最も近いロボットモ
ジュールまでの距離の逆数である。この輝度は、その方
向にロボットモジュールが無い場合、0である。この関
数は、輝度の値を戻す。
【0200】G.(readSensorWall direction) この関数は、壁センサの輝度の値を読み取る。この輝度
は、相対方向directionにおける壁若しくは障害物まで
の距離の逆数である。この輝度は、その方向に壁若しく
は障害物が無い場合、0である。この関数は、輝度の値
を戻す。
【0201】H.(readSensorExternalObject directio
n) この関数は、外部オブジェクトセンサの輝度の値を読み
取る。この輝度は、相対方向directionにおける外部オ
ブジェクトまでの距離の逆数である。この輝度は、その
方向に外部オブジェクトが無い場合、0である。この関
数は、輝度の値を戻す。
【0202】I.(getTurn) この関数は、シミュレーションに対する「ターン」変数
の現在値を戻す。この「ターン」変数は、シミュレーシ
ョンの初めでは0に設定され、ロボットモジュール全て
が実行される毎に増加する。
【0203】J.(protectedDivide operand1 operand
2) この関数は、両方のオペランドを評価して、オペランド
2で割ったオペランド1を戻す。オペランド2が0の場
合、この関数は1を戻す。
【0204】K.(protectedModulus operand1 operand
2) この関数は、両方のオペランドを評価して、オペランド
2で割ったオペランド1の実数値剰余を戻す。オペラン
ド2が0の場合、この関数は1を戻す。
【0205】L.(if condition expression1 expressi
on2) この関数は、ブールのconditionを評価する。このcondi
tionが真である場合には、expression1が評価されて、
その値が戻される。このconditionが偽である場合に
は、expression2が評価されて、その値が戻される。
【0206】M.(progn expression1 expression2) この関数は、expression1及びexpression2を評価して、
expression2の結果を戻す。
【0207】N.(moveLine direction) この関数は、1ライン全体のロボットモジュールを、そ
れらが移動可能であれば、相対方向directionに移動さ
せる。この移動するラインのロボットモジュールは、現
在のロボットモジュールの相対方向directionにおい
て、現在のロボットモジュールと同一直線上にあるライ
ンのモジュールである。このラインのモジュールは、ラ
インにおける一番前のロボットモジュールが移動不可能
な壁若しくは障害物によって遮られていない場合且つそ
の場合に限り、並びに、これらのモジュールを押したり
引いたりすることのできる別のロボットモジュールがそ
のラインに隣接してある場合、移動することができる。
この関数は、そのラインのモジュールが移動可能である
場合には真を、そうでない場合には偽を戻す。
【0208】O.(moveSingle direction) この関数は、現在のロボットモジュールを、それが移動
可能であれば、相対方向directionに移動させる。この
モジュールは、その他のいずれのオブジェクトにも遮ら
れていない場合且つその場合に限り、並びに、このモジ
ュールを押したり引いたりすることのできる別のロボッ
トモジュールがそのモジュールに隣接してある場合、移
動することができる。この関数は、そのモジュールが移
動可能である場合には真を、そうでない場合には偽を戻
す。
【0209】P.(and operand1 operand2) この関数は、両方のオペランドを評価し、そのオペラン
ドの両方が真である場合且つその場合に限り真を、そう
でない場合には偽を戻す。
【0210】Q.(less operand1 operand2) この関数は、両方のオペランドを評価し、operand1がop
erand2よりも少ない場合真を、そうでない場合には偽を
戻す。
【0211】R.(isFirst color direction) この関数は、方向directionにおいて、このモジュール
のすぐ隣に第1の色をしたオブジェクトがある場合には
真を、そうでない場合には偽を戻す。
【0212】S.(isSecond color direction) この関数は、方向directionにおいて、このモジュール
のすぐ隣に第2の色をしたオブジェクトがある場合には
真を、そうでない場合には偽を戻す。
【0213】実験結果 図17に示された膜のこの一般的な実施の形態は、以下
のパラメータを用いて評価された。 ・母集団の大きさ=72,000個体 ・交差オペレーションを行う割合=99.0% ・突然変異オペレーションを行う割合=1.0% ・クローニングオペレーションを行う割合=0.0% ・生成するコンピュータプログラムの最大深さ=9 ・ランの初めにおいてランダムに生成するコンピュータ
プログラムの最大深さ=5 ・突然変異に対して生成するサブプログラムの最大深さ
=4 ・適合度評価の際に用いるコンピュータ時間の最大量=
無限 ・シミュレートするターンの数=10
【0214】この実施の形態の制御プログラムに対する
有効な解は、評価/ランの32世代目に現れた。この解
は、49のプリミティブ関数参照と32の実数値定数と
から構成されていた。この解の動作が、シミュレーショ
ン中の時系列順に3つの時点、つまり、初期段階、中間
段階、及び後続段階における、1つの初期ワールド状態
に関して、それぞれ図20(a)〜(c)に示されている。
図20(c)に示されているように、一時移送チャネル9
80が、モジュラーユニットの移動によって形成され
る。この制御プログラムの記号列表現は、以下のとおり
である。
【外2】
【0215】このプログラムは、10×10のワールド
を含み、膜の高さが3及び4であり、1度に1つのオブ
ジェクトがフィルタリングされる、1つの一般的な実施
の形態に関して進化されたが、ソフトウェアは、非常に
多様な高さ及び幅を有する長方形に配列された何百もの
モジュールから構成される、その他の一般的な実施の形
態の膜に関して作動するように基準化する、ということ
は認識されるべきである。また、このソフトウェアは、
同時に複数のオブジェクトも好適にフィルタリングす
る。例えば、図21に示されているように、プログラム
は、膜の高さがモジュール8個分であり、6つのオブジ
ェクト(膜の上部に沿って均等に離間された、第2の色
を有する3つのオブジェクト1330及び第1の色を有
する3つのオブジェクト1320)がフィルタリングさ
れる、64×64のワールド1340における、膜13
00の496個の各ロボットモジュール1310に対し
て導入されると、好適に機能した。図21は、フィルタ
リング完了後におけるこの一般的な実施の形態を、概略
的に示している。
【0216】様々な一般的な実施の形態では、スマート
膜は、その所望の機能を実行しながら、又は接触するオ
ブジェクトを待機しながら、能動的に移動するように、
プログラムすることができる、ということは認識される
べきである。例えば、スマート膜のモジュールユニット
は、膜の上面を揺動させることによって、この上面が上
下して、フィルタリング、分類、又は吸収されるオブジ
ェクトと接触するように、プログラムされてもよい。様
々な一般的な実施の形態では、この揺動は正弦波形の動
きである。
【0217】本発明によるスマート膜のその他の一般的
な実施の形態、及び本発明によるロボットモジュール以
外のタイプのモジュールユニットがある、ということも
認識されるべきである。さらに、本発明は、例えば部品
分類機(これに限定されるわけではない)のようなマク
ロ規模から、例えば物質を精製する化学的用途や生化学
及び生物医学的用途(これらに限定されるわけではな
い)のようなナノメートル規模まで、様々な用途におい
て用いられてもよい。
【0218】また、本発明のスマート膜は、例えばオブ
ジェクトを組み合わせたり分解したりというような他の
使用法に適用可能である、ということも認識されるべき
である。
【0219】本発明を、以上略述した特定の実施の形態
に関して説明してきたが、当業者には、多数の代替物、
変更物、及び改造物が明らかであろう、ということは明
白である。従って、以上説明したような本発明の好適な
実施の形態は、例示を意図するものであって、限定を意
図するものではない。本発明の趣旨及び範囲を逸脱しな
い限り、様々な変更が行われてもよい。
【図面の簡単な説明】
【図1】オブジェクトをフィルタリングする本発明によ
るスマート膜の、1つの一般的な実施の形態を示す概略
図である。
【図2】オブジェクトをフィルタリングする本発明によ
るスマート膜の、1つの一般的な実施の形態を示す概略
図である。
【図3】オブジェクトをフィルタリングする本発明によ
るスマート膜の、1つの一般的な実施の形態を示す概略
図である。
【図4】オブジェクトを二方向にフィルタリングする本
発明によるスマート膜の、一般的な実施の形態を示す概
略図である。
【図5】オブジェクトを二方向にフィルタリングする本
発明によるスマート膜の、一般的な実施の形態を示す概
略図である。
【図6】オブジェクトを二方向にフィルタリングする本
発明によるスマート膜の、一般的な実施の形態を示す概
略図である。
【図7】オブジェクトを分類する本発明によるスマート
膜の、一般的な実施の形態を示す概略図である。
【図8】オブジェクトを分類する本発明によるスマート
膜の、一般的な実施の形態を示す概略図である。
【図9】オブジェクトを分類する本発明によるスマート
膜の、一般的な実施の形態を示す概略図である。
【図10】オブジェクトを吸収する本発明によるスマー
ト膜の、一般的な実施の形態を示す概略図である。
【図11】オブジェクトを吸収する本発明によるスマー
ト膜の、一般的な実施の形態を示す概略図である。
【図12】オブジェクトを吸収する本発明によるスマー
ト膜の、一般的な実施の形態を示す概略図である。
【図13】本発明による一般的なスマート膜のモジュー
ルユニットの1つの一般的な実施の形態を示すブロック
図であり、この実施の形態では、モジュール制御回路は
モジュールユニット内に配置されている。
【図14】本発明による一般的なスマート膜のモジュー
ルユニットの別の一般的な実施の形態を示すブロック図
であり、この実施の形態では、モジュール制御回路はモ
ジュールユニット内に配置されていない。
【図15】本発明によるモジュラーロボットスマート膜
の、1つの一般的な実施の形態を示す概略図である。
【図16】本発明によるスマート膜のモジュールユニッ
トに対するソフトウェアプログラムを構成する、1つの
一般的な実施の形態を示すフローチャートである。
【図17】本発明によるモジュラーロボットスマート膜
の、別の一般的な実施の形態を示す概略図である。
【図18】(a)〜(c)は、一般的なロボットモジュール
の単独移動を示す概略図である。
【図19】(a)、(b)は、一般的なロボットモジュール
のライン移動を示す概略図である。
【図20】(a)〜(c)は、オブジェクトのフィルタリン
グの初期段階、中間段階、及び後続段階における、図1
7のスマート膜を示す概略図である。
【図21】本発明によるモジュラーロボットスマート膜
の、別の一般的な実施の形態を示す概略図である。
【符号の説明】
100、200、300、400、700、900、1
300 スマート膜 110、210、310、410、500、600、7
10、910、1310 モジュールユニット(ロボ
ットモジュール) 120、130、220、230、320、330、4
20、430、720、730、920、930、13
20、1330 オブジェクト 140、240、340、440、980 一時移送
チャネル 512、602 信号/データバス 612 リンク 702 膜の第1サイド 704 膜の第2サイド 740、940、1340 ワールド 742 壁 912 基準枠 946 左壁 948 右壁 950 中心軸
フロントページの続き (72)発明者 エレノア ジー. リーフェル アメリカ合衆国 94304 カリフォルニア 州 パロ アルト ヒルビュー アベニュ ー 3400 ビルディング 4 エフエック ス パロ アルト ラボラトリー インコ ーポレイテッド内 (72)発明者 ブラドリー イー. ドリン アメリカ合衆国 94304 カリフォルニア 州 パロ アルト ヒルビュー アベニュ ー 3400 ビルディング 4 エフエック ス パロ アルト ラボラトリー インコ ーポレイテッド内 Fターム(参考) 3C007 BS30 JS02 JS05 KS13 XG00

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】 1つの属性を有する少なくとも1つのオ
    ブジェクトに対し、分類機能、フィルタリング機能、及
    び吸収機能のうちの少なくとも1つの機能全体を行う膜
    であって、 互いに隣接して配置された複数のモジュールユニットを
    備え、 前記複数のモジュールユニットのそれぞれが、その周囲
    の環境に関する情報を取得し、 前記複数のモジュールユニットの少なくとも一部がそれ
    ぞれ、少なくとも第1の制御方法に基づいて、少なくと
    も1つの機能を実行し、 前記第1の制御方法が、前記複数のモジュールユニット
    のそれぞれに対する前記情報に基づいて、前記機能を決
    定し、 前記複数のモジュールユニットの前記少なくとも一部
    が、前記少なくとも1つの機能を実行することによっ
    て、前記オブジェクトの前記属性に基づいて、前記膜の
    前記機能全体が集合的に実行される、 前記膜。
  2. 【請求項2】 前記複数のモジュールユニットが、少な
    くとも2層のモジュールユニットを形成するように互い
    に隣接して配置される、請求項1に記載の膜。
  3. 【請求項3】 前記複数のモジュールユニットが、前記
    機能全体を行う膜を二次元において形成するように配置
    される、請求項1に記載の膜。
  4. 【請求項4】 前記複数のモジュールユニットのそれぞ
    れが、前記情報を取得する少なくとも1つのセンサを備
    える、請求項1に記載の膜。
  5. 【請求項5】 前記複数のモジュールユニットのそれぞ
    れが、前記オブジェクトを前記情報として検出する少な
    くとも1つのオブジェクトセンサと、そのモジュールユ
    ニットに隣接した前記複数のモジュールユニットのうち
    の他のモジュールユニットを前記情報として検出する少
    なくとも1つの他モジュールユニットセンサと、前記膜
    が中に配置されているワールドの壁を前記情報として検
    出する少なくとも1つの壁センサとを備える、請求項1
    に記載の膜。
  6. 【請求項6】 前記複数のモジュールユニットのそれぞ
    れが、前記第1の制御方法を実行するプロセッサを備え
    る、請求項1に記載の膜。
  7. 【請求項7】 前記複数のモジュールユニットの少なく
    とも一部がそれぞれ、前記情報に基づいて前記機能を決
    定する第2の制御方法に基づいて、前記機能を実行す
    る、請求項1に記載の膜。
  8. 【請求項8】 前記複数のモジュールユニットのうちの
    1つの移動が、前記複数のモジュールユニットのうちの
    前記1つがもう1つ別のモジュールユニットと隣接して
    いる場合にのみ可能である、請求項1に記載の膜。
  9. 【請求項9】 前記複数のモジュールユニットのうちの
    1つの移動が、前記複数のモジュールユニットのうちの
    1つの単独移動である、請求項1に記載の膜。
  10. 【請求項10】 前記複数のモジュールユニットのうち
    の1つの移動が、前記複数のモジュールユニットのうち
    の1ラインのライン移動である、請求項1に記載の膜。
  11. 【請求項11】 前記複数のモジュールユニットのうち
    の1つの移動が、他の隣接したモジュールユニットに対
    するスライド移動である、請求項1に記載の膜。
  12. 【請求項12】 前記複数のモジュールユニットが、前
    記オブジェクトの1つより多くの属性に基づいて、前記
    膜の前記機能全体を集合的に実行する、請求項1に記載
    の膜。
  13. 【請求項13】 前記複数のモジュールユニットが、1
    つより多くのオブジェクトに対して、前記膜の前記機能
    全体を集合的に実行する、請求項1に記載の膜。
  14. 【請求項14】 前記複数のモジュールユニットのそれ
    ぞれが、もう1つ別のモジュールユニット若しくは前記
    環境との少なくとも1つの通信リンクによって、前記情
    報を取得する、請求項1に記載の膜。
  15. 【請求項15】 前記情報が、前記複数のモジュールユ
    ニットのそれぞれのローカル情報である、請求項1に記
    載の膜。
  16. 【請求項16】 前記情報が、前記複数のモジュールユ
    ニットの前記少なくとも一部によって受信された情報に
    基づいた情報である、請求項1に記載の膜。
  17. 【請求項17】 第1のモジュールと、 前記第1のモジュールに隣接して配置された第2のモジ
    ュールと、 少なくとも1つのコントローラと、 を備えた、自己再構成可能なロボットであって、 前記第1及び第2のモジュールがそれぞれ、機能回路及
    びセンサを備え、 前記少なくとも1つのコントローラが第1の制御プログ
    ラムを実行することによって、前記センサにより取得さ
    れた情報に基づいて、前記第1及び第2のモジュールに
    対する機能命令が生成されると共に、前記機能回路が、
    前記機能命令に基づいて機能を実行し、前記第1及び第
    2のモジュールの前記機能が、前記自己再構成可能なロ
    ボットのフィルタリング機能、分類機能、及び吸収機能
    のうちの少なくとも1つの機能全体を集合的に実行す
    る、 前記自己再構成可能なロボット。
  18. 【請求項18】 前記機能回路が移動モータを作動させ
    る、請求項17に記載の自己再構成可能なロボット。
  19. 【請求項19】 前記情報が、前記第1及び第2のモジ
    ュールのそれぞれのローカル情報である、請求項17に
    記載の自己再構成可能なロボット。
  20. 【請求項20】 前記情報が、前記第1及び第2のモジ
    ュール両方からの情報である、請求項17に記載の自己
    再構成可能なロボット。
  21. 【請求項21】 1つの属性を有する少なくとも1つの
    オブジェクトに対し、分類機能、フィルタリング機能、
    及び吸収機能のうちの少なくとも1つの機能全体を行う
    膜を提供する方法であって、 それぞれがその周囲の環境に関する情報を取得すること
    のできる、複数のモジュールユニットを供給するステッ
    プと、 前記複数のモジュールユニットを、互いに隣接して配置
    するステップと、 前記情報に基づいて、前記複数のモジュールユニットの
    それぞれに対する動作機能を制御する、制御方法を供給
    するステップと、を含み、 前記複数のモジュールユニットが前記動作機能を個別に
    実行することによって、前記オブジェクトの前記属性に
    基づいて、前記膜の前記機能全体が集合的に実行され
    る、 前記膜を提供する方法。
  22. 【請求項22】 スマート膜の複数の機能それぞれを実
    行する、第1の複数のソフトウェア関数と、 複数のソフトウェア関数をランダムに選択して、第1の
    複数のソフトウェアプログラムを生成する、第1のソフ
    トウェアプログラムと、 前記第1の複数のソフトウェアプログラムそれぞれに対
    する、複数の適合度関数の値それぞれを取得する、適合
    度関数と、 前記複数の適合度関数の値それぞれに基づいて、前記第
    1の複数のソフトウェアプログラムからの第2の複数の
    ソフトウェアプログラムを行う、第2のソフトウェアプ
    ログラムと、 を備える、コンピュータが読取り可能なメモリを含む製
    品。
  23. 【請求項23】 複数のモジュール機能それぞれを実行
    する、複数のソフトウェア関数を供給するステップと、 前記複数のソフトウェア関数から、目的を解決するため
    の第1の複数のソフトウェアプログラムを構成するステ
    ップと、 前記第1の複数のソフトウェアプログラムを実行して、
    複数の結果それぞれを取得するステップと、 適合度の値をもたらす目的の適合度関数を供給するステ
    ップと、 前記第1の複数のソフトウェアプログラムに対する、複
    数の適合度関数の値それぞれを計算するステップと、 前記適合度関数の値それぞれに基づいて、前記第1の複
    数のソフトウェアプログラムから、第2の複数のソフト
    ウェアプログラムを選択するステップと、 遺伝オペレーションを用いて、前記第2の複数のソフト
    ウェアプログラムから、第3の複数のソフトウェアプロ
    グラムを構成するステップと、 を含む、スマート膜用のソフトウェアを提供する方法。
  24. 【請求項24】 周囲の環境に関する情報を取得する複
    数のモジュールユニットを有し、属性を有するオブジェ
    クトに対し機能全体を行う、膜を制御する方法であっ
    て、 前記情報に基づいて、前記複数のモジュールユニットの
    それぞれに対する機能を決定するステップを含み、 前記複数のモジュールユニットのそれぞれが前記機能を
    実行することによって、前記属性に基づいて、前記膜の
    前記機能全体が集合的に実行される、 前記膜を制御する方法。
JP2002111426A 2001-04-17 2002-04-15 膜、自己再構成可能なロボット、膜を提供する方法、コンピュータが読取り可能なメモリを含む製品、スマート膜用のソフトウェアを提供する方法、及び膜を制御する方法 Expired - Fee Related JP4427940B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/835,323 US6459957B1 (en) 2001-04-17 2001-04-17 Programmable smart membranes and methods therefor
US835323 2001-04-17

Publications (2)

Publication Number Publication Date
JP2003019699A true JP2003019699A (ja) 2003-01-21
JP4427940B2 JP4427940B2 (ja) 2010-03-10

Family

ID=25269215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002111426A Expired - Fee Related JP4427940B2 (ja) 2001-04-17 2002-04-15 膜、自己再構成可能なロボット、膜を提供する方法、コンピュータが読取り可能なメモリを含む製品、スマート膜用のソフトウェアを提供する方法、及び膜を制御する方法

Country Status (2)

Country Link
US (1) US6459957B1 (ja)
JP (1) JP4427940B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016009354A (ja) * 2014-06-25 2016-01-18 日本電信電話株式会社 行動制御システム、その方法及びプログラム
JP2016119040A (ja) * 2014-12-17 2016-06-30 日本電信電話株式会社 行動制御システム、その方法及びプログラム
JP2019075013A (ja) * 2017-10-18 2019-05-16 日本電信電話株式会社 隊列制御装置、隊列制御方法、およびプログラム
JP2019074997A (ja) * 2017-10-18 2019-05-16 日本電信電話株式会社 制御装置、方法及びプログラム
JP2019082800A (ja) * 2017-10-30 2019-05-30 日本電信電話株式会社 隊列制御装置、隊列制御方法、およびプログラム

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636781B1 (en) * 2001-05-22 2003-10-21 University Of Southern California Distributed control and coordination of autonomous agents in a dynamic, reconfigurable system
US6725128B2 (en) * 2001-07-02 2004-04-20 Xerox Corporation Self-reconfigurable robot
JP4043289B2 (ja) * 2002-05-27 2008-02-06 シャープ株式会社 探索ロボットシステム
JP2004174704A (ja) * 2002-11-14 2004-06-24 Sony Corp アクチュエータ装置及び多軸型ロボット
US7656846B2 (en) * 2002-11-18 2010-02-02 Ge Fanuc Automation North America, Inc. PLC based wireless communications
EP1587594B1 (en) * 2003-01-15 2012-01-18 Andrzej Pietrzyk A system of three-dimensional multipurpose elements
US20050072260A1 (en) * 2003-10-03 2005-04-07 Anani Ananiev Method for driving multiple-module mechanisms by a single motor and redundant modular robots produced therefrom
US7154362B2 (en) 2003-11-12 2006-12-26 Honeywell International, Inc. Robotic member
US7770014B2 (en) * 2004-04-30 2010-08-03 Microsoft Corporation Randomized signal transforms and their applications
SE0402098D0 (sv) * 2004-08-30 2004-08-30 Abb Ab A control system
US8000837B2 (en) 2004-10-05 2011-08-16 J&L Group International, Llc Programmable load forming system, components thereof, and methods of use
US20080270097A1 (en) * 2006-11-13 2008-10-30 Solomon Research Llc System and methods for immunocomputing applied to collectives of nanorobots
WO2011016280A1 (ja) * 2009-08-03 2011-02-10 本田技研工業株式会社 ロボットおよび制御システム
US20110224873A1 (en) * 2009-09-17 2011-09-15 Reeve David R Vehicle assembly controller with automaton framework and control method
US9358687B2 (en) * 2013-01-24 2016-06-07 Mohammad Reza Emami System, method and computer program for autonomously emulating robot manipulators of continuously-varying configurations
US20140300211A1 (en) * 2013-03-06 2014-10-09 Massachusetts Institute Of Technology Discrete Motion System
US9956531B2 (en) 2015-01-09 2018-05-01 Elwha Llc Device including multilayer membrane to control fluid drainage and methods of use thereof
CN106272398A (zh) * 2015-05-27 2017-01-04 鸿富锦精密工业(深圳)有限公司 机器人的驱动组件、机器人及机器人系统
US10293482B2 (en) 2015-11-12 2019-05-21 ITI Electromagnetic Products Inc. Self-assembling robotic construction system and associated methods
IT201900024481A1 (it) * 2019-12-18 2021-06-18 Fondazione St Italiano Tecnologia Robot modulare configurabile, procedimento e prodotto informatico corrispondenti
CN112549009B (zh) * 2020-11-27 2022-02-08 合肥艾创微电子科技有限公司 一种基于可编程智能材料的仿生波形软体机器人

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222192A (en) 1988-02-17 1993-06-22 The Rowland Institute For Science, Inc. Optimization techniques using genetic algorithms
US4935877A (en) 1988-05-20 1990-06-19 Koza John R Non-linear genetic algorithms for solving problems
US5893974A (en) 1994-03-07 1999-04-13 Regents Of University Of California Microfabricated capsules for immunological isolation of cell transplants
US5655665A (en) 1994-12-09 1997-08-12 Georgia Tech Research Corporation Fully integrated micromachined magnetic particle manipulator and separator
WO1997040428A1 (en) 1996-04-22 1997-10-30 Weld Tooling Corporation Unified modular system of drives and controls for mobile robotic applications
US6233502B1 (en) * 1998-10-16 2001-05-15 Xerox Corporation Fault tolerant connection system for transiently connectable modular elements
US6243622B1 (en) * 1998-10-16 2001-06-05 Xerox Corporation Touchable user interface using self movable robotic modules
US6233503B1 (en) * 1998-10-16 2001-05-15 Xerox Corporation Space filling robotic polyhedra modules

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016009354A (ja) * 2014-06-25 2016-01-18 日本電信電話株式会社 行動制御システム、その方法及びプログラム
JP2016119040A (ja) * 2014-12-17 2016-06-30 日本電信電話株式会社 行動制御システム、その方法及びプログラム
JP2019075013A (ja) * 2017-10-18 2019-05-16 日本電信電話株式会社 隊列制御装置、隊列制御方法、およびプログラム
JP2019074997A (ja) * 2017-10-18 2019-05-16 日本電信電話株式会社 制御装置、方法及びプログラム
JP2019082800A (ja) * 2017-10-30 2019-05-30 日本電信電話株式会社 隊列制御装置、隊列制御方法、およびプログラム

Also Published As

Publication number Publication date
JP4427940B2 (ja) 2010-03-10
US20020152006A1 (en) 2002-10-17
US6459957B1 (en) 2002-10-01

Similar Documents

Publication Publication Date Title
JP2003019699A (ja) 膜、自己再構成可能なロボット、膜を提供する方法、コンピュータが読取り可能なメモリを含む製品、スマート膜用のソフトウェアを提供する方法、及び膜を制御する方法
Cavalcanti Assembly automation with evolutionary nanorobots and sensor-based control applied to nanomedicine
Chaimowicz et al. Controlling swarms of robots using interpolated implicit functions
Koubâa et al. Robot path planning and cooperation
Scheutz et al. Architectural mechanisms for dynamic changes of behavior selection strategies in behavior-based systems
Hiller et al. Evolving amorphous robots.
Hassan et al. Simultaneous area partitioning and allocation for complete coverage by multiple autonomous industrial robots
Hu et al. Heterogeneous crowd simulation using parametric reinforcement learning
Zhu et al. A simplified approach to realize cellular automata for ubot modular self-reconfigurable robots
Samuelsen et al. Real-world reproduction of evolved robot morphologies: Automated categorization and evaluation
Spears et al. Artificial physics for mobile robot formations
Luo et al. An obstacle-crossing strategy based on the fast self-reconfiguration for modular sphere robots
Misir et al. Flocking-based self-organized aggregation behavior method for swarm robotics
US20240208060A1 (en) Digital representations of robot operational environment, useful in motion planning for robots
Miconi et al. An improved system for artificial creatures evolution
Ababsa et al. Genetic programming-based self-reconfiguration planning for metamorphic robot
Derakhshandeh et al. Infinite object coating in the amoebot model
Alattas Analyzing modular robotic systems
Murata et al. Self-reconfigurable robots: Platforms for emerging functionality
Sharma et al. Plane-based local behaviors for multi-agent 3D simulations with position-based dynamics
Bobadilla et al. Controlling wild bodies using discrete transition systems
Becker et al. Interactive design of c-shells using reduced parametric families
Chen et al. Mobility Hierarchy and Simulation of a Modular, Reconfigurable, Tetrahedral Robot System
Fekete et al. Connected assembly and reconfiguration by finite automata
Pantazis et al. Emergent order through swarm fluctuations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090714

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4427940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091207

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131225

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees
S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350