(57)【要約】【課題】免疫ネットワークにおける抗体の刺激作用と抑制作用とに基づいて、制御対象装置の行動を自律的に制御する新規な手法を提供する。【解決手段】演算部３は、刺激条件が互いに異なる複数の抗体モジュールＡＢｉのそれぞれを処理対象として、抗体モジュールＡＢｉを選択する際の指標となる抗体濃度ａｉ（ｔ）を算出する。収束判定部４は、抗体濃度ａｉ（ｔ）が予め設定された目標値ｒｉへ収束したか否かを判定する。収束制御部５は、非収束の判定が行われた場合に、抗体濃度ａｉ（ｔ）を目標値ｒｉへ近づけるように、抗体濃度を補正する補正パラメータｕｌ（ｔ）を算出する。抗体評価部７は、収束の判定が行われた場合に、評価値Ｐｉを算出するとともに、複数の抗体モジュールについて算出された評価値Ｐｉのそれぞれに基づいて、ある抗体モジュールＡＢｉを選択する。そして、この抗体モジュールによって定義された制御内容に応じて制御対象装置の行動が制御される。【選択図】  図１
2004265147.tif 000002
【特許請求の範囲】
【請求項１】
免疫ネットワークにおける抗体の刺激作用と抑制作用とに基づいて、複数の抗体モジュールのうちのある抗体モジュールを選択し、当該選択された抗体モジュールによって定義された制御内容に応じて制御対象装置を制御する制御システムにおいて、
前記制御対象装置に対する刺激条件と、当該刺激条件に対応する制御内容と、他の抗体モジュールに対する親和性とが定義されており、それぞれの刺激条件が互いに異なる複数の抗体モジュールと、
前記抗体モジュールのそれぞれを処理対象として、前記抗体モジュールを選択する際の指標となる抗体濃度を算出する演算部と、
前記算出された抗体濃度と予め設定された目標値とに基づいて、前記抗体濃度が前記目標値へ収束したか否かを判定する収束判定値と、
前記収束判定部によって前記抗体濃度が前記目標値へ収束していないと判定された場合に、前記抗体濃度を前記目標値へ近づけるように、前記抗体濃度を補正する補正パラメータを算出する収束制御部と、
前記収束判定部によって前記抗体濃度が前記目標値へ収束したと判定された場合に、前記抗体モジュールを評価する評価値を算出するとともに、前記複数の抗体モジュールについて算出された評価値のそれぞれに基づいて、前記複数の抗体モジュールのうちのある抗体モジュールを選択する抗体評価部と
を有することを特徴とする制御システム。
【請求項２】
前記収束制御部は、
前記抗体濃度を前記目標値へ近づける程度が互いに異なるように前記補正パラメータを算出する複数の収束制御モジュールと、
前記制御対象装置の外部環境に応じて、前記複数の収束制御モジュールのうちのある収束制御モジュールを選択する制御選択部とを有し、
前記選択された収束制御モジュールによって算出された補正パラメータに基づいて、前記抗体濃度を補正する補正パラメータを決定することを特徴とする請求項１に記載された制御システム。
【請求項３】
前記収束制御モジュールのそれぞれは、遺伝的アルゴリズム、ニューラルネットワークまたはＰＩＤ制御を用いて前記補正パラメータを算出することを特徴とする請求項２に記載された制御システム。
【請求項４】
前記制御選択部は、ニューラルネットワークまたは遺伝的アルゴリズムを用いて前記複数の収束制御モジュールのうちのある抗体モジュールを選択することを特徴とする請求項２または３に記載された制御システム。
【請求項５】
前記抗体評価部は、前記抗体濃度が前記目標値へ収束するまでの前記抗体濃度の積算値を前記評価値として算出するとともに、当該算出された評価値が最も大きい抗体モジュールを選択することを特徴とする請求項１から４のいずれかに記載された制御システム。
【請求項６】
制御対象装置に対する刺激条件と、当該刺激条件に対応する制御内容と、他の抗体モジュールに対する親和性とが定義されており、前記刺激条件が互いに異なる複数の抗体モジュールのなかから、免疫ネットワークにおける抗体の刺激作用と抑制作用とに基づいてある抗体モジュールを選択し、当該選択された抗体モジュールによって定義された制御内容に応じて前記制御対象装置を制御する制御方法において、
前記抗体モジュールのそれぞれを処理対象として、前記抗体モジュールを選択する際の指標となる抗体濃度を算出する第１のステップと、
前記算出された抗体濃度と予め設定された目標値とに基づいて、前記抗体濃度が前記目標値へ収束したか否かを判定する第２のステップと、
前記第２のステップによって前記抗体濃度が前記目標値へ収束していないと判定された場合に、前記抗体濃度を前記目標値へ近づけるように、前記抗体濃度を補正する補正パラメータを算出する第３のステップと、
前記第２のステップによって前記抗体濃度が前記目標値へ収束したと判定された場合に、当該抗体モジュールを評価する評価値を算出する第４のステップと、前記複数の抗体モジュールについて算出された評価値のそれぞれに基づいて、前記複数の抗体モジュールのうちのある抗体モジュールを選択する第５のステップと
を有することを特徴とする制御方法。
【請求項７】
前記第３のステップは、
前記抗体濃度を前記目標値へ近づける程度が互いに異なるように、複数の補正パラメータを算出するステップと、
前記制御対象装置の外部環境に応じて、前記複数の補正パラメータのうちのある補正パラメータを選択するステップと、
前記選択された補正パラメータに基づいて、前記抗体濃度を補正する補正パラメータを決定するステップと
を有することを特徴とする請求項６に記載された制御方法。
【請求項８】
前記第３のステップは、
前記制御対象装置の外部環境に応じて、前記抗体濃度を前記目標値へ近づける程度が互いに異なる複数の補正レベルのうちのある補正レベルを選択するステップと、
前記選択された補正レベルに基づいて、前記補正パラメータを算出するステップと
を有することを特徴とする請求項６に記載された制御方法。
【請求項９】
前記第４のステップは、前記抗体濃度が前記目標値へ収束するまでの前記抗体濃度の積算値を前記評価値として算出し、
前記第５のステップは、前記算出された評価値が最も大きい抗体モジュールを選択することを特徴とする請求項６から８のいずれかに記載された制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御対象装置であるロボットなどの動作を、免疫ネットワークを用いて自律的に制御する制御システムおよび制御方法に関する。
【０００２】
【従来の技術】
近年、生体の情報処理機構を工学的にモデル化することにより、環境の動的変化を考慮したうえで各種制御対象装置を自律的に制御する手法が注目されている。この類の情報処理機構は、脳神経系、遺伝系および免疫系などのサブシステムに分類される。これらのサブシステムにおいて、脳神経系および遺伝子系に関しては、ニューラルネットワークおよび遺伝的アルゴリズムとしてすでに工学的にモデル化され、様々な分野で利用されている。
【０００３】
ところで、近年の免疫学的研究の発展にともない、生体内外の異物（癌細胞やウィルスなど）を排除する各種リンパ球細胞は、相互にコミュニケーションをとりあい自律分散的なネットワークを構成していることが明らかになっている。生体において遭遇する異物の数はきわめて膨大であり、予見することは不可能である。言わば動的に変化する環境に対して適切に対処し、個体の存続を実現してきた免疫系のメカニズムは、脳神経系とは異なる新たな処理手法として工学的に実現することが期待されている。この点に関し、非特許文献１には、免疫系を用いたロボットの行動調停機構に関する手法が開示されている。かかる非特許文献１によれば、ロボットのセンサが検出する外部環境および内部状態に関する情報を抗原（異物）、ロボットの要素行動モジュール群を抗体（リンパ球細胞）として捉えている。そして、抗体間の刺激・抑制作用に基づいて抗体の濃度計算を行い、濃度が最も高くなる抗体（要素行動モジュール）を選択することにより、ロボットの要素行動が決定される。
【０００４】
【非特許文献１】
近藤敏之、他２名，「生体内免疫系を参考にした自律移動ロボットの行動調停機構の創発的生成に関する一手法」，計測自動制御学会論文集，１９９７年１月９日，第３３巻，第１号，ｐ．１〜９
【０００５】
【発明が解決しようとする課題】
ところで、決定された要素行動に従ってロボットが行動する場合、この要素行動に対応した抗体は、他の抗体へ影響を与えるばかりでなく、経時的には自己に対する抗体の濃度にも影響を与える。そのため、非特許文献１に記載された手法では、フィードバック的に濃度計算を繰り返し、自己への影響を考量した上で濃度が最も高くなる抗体を選択している。しかしながら、フィードバック的に濃度計算を繰り返した場合には、抗体の濃度が周期解となる虞がある。周期解は、値がある一定値に収束しないため、時刻によって抗体間の濃度の大小が相違し、判断を行う時刻によって選択される抗体が相違する。そのため、決定された抗体に対応する要素行動が必ずしもロボットの行動として最適とはならない。
【０００６】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、免疫ネットワークにおける抗体の刺激作用と抑制作用とに基づいて、制御対象装置の行動を自律的に制御する新規な手法を提供することにある。
【０００７】
また、本発明の別の目的は、抗体の濃度算出における周期解を抑制することにある。
【０００８】
【課題を解決するための手段】
かかる課題を解決するために、第１の発明は、免疫ネットワークにおける抗体の刺激作用と抑制作用とに基づいて、複数の抗体モジュールのうちのある抗体モジュールを選択し、選択された抗体モジュールによって定義された制御内容に応じて制御対象装置を制御する制御システムにおいて、複数の抗体モジュールと、演算部と、収束制御部と、抗体評価部とを有する制御システムを提供する。かかる制御システムにおいて、複数の抗体モジュールは、制御対象装置に対する刺激条件と、刺激条件に対応する制御内容と、他の抗体モジュールに対する親和性とが定義されており、それぞれの刺激条件が互いに異なっている。演算部は、抗体モジュールのそれぞれを処理対象として、抗体モジュールを選択する際の指標となる抗体濃度を算出する。収束判定部は、算出された抗体濃度と予め設定された目標値とに基づいて、抗体濃度が目標値へ収束したか否かを判定する。収束制御部は、収束判定部によって抗体濃度が目標値へ収束していないと判定された場合に、抗体濃度を目標値へ近づけるように、抗体濃度を補正する補正パラメータを算出する。抗体評価部は、収束判定部によって抗体濃度が目標値へ収束したと判定された場合に、抗体モジュールを評価する評価値を算出するとともに、複数の抗体モジュールについて算出された評価値のそれぞれに基づいて、複数の抗体モジュールのうちのある抗体モジュールを選択する。
【０００９】
ここで、第１の発明において、収束制御部は、抗体濃度を目標値へ近づける程度が互いに異なるように補正パラメータを算出する複数の収束制御モジュールと、制御対象装置の外部環境に応じて、複数の制御モジュールのうちのある収束制御モジュールを選択する制御選択部とを有することが好ましい。この場合、収束制御部は、選択された収束制御モジュールによって算出された補正パラメータに基づいて、抗体濃度を補正する補正パラメータを決定することが好ましい。ここで、上記の収束制御モジュールのそれぞれは、遺伝的アルゴリズム、ニューラルネットワークまたはＰＩＤ制御を用いて補正パラメータを算出してもよい。また、制御選択部は、ニューラルネットワークまたは遺伝的アルゴリズムを用いて複数の収束制御モジュールのうちのある抗体モジュールを選択してもよい。
【００１０】
また、第１の発明のおいて、抗体評価部は、抗体濃度が目標値へ収束するまでの抗体濃度の積算値を評価値として算出するとともに、算出された評価値が最も大きい抗体モジュールを選択することが好ましい。
【００１１】
また、第２の発明は、制御対象装置に対する刺激条件と、刺激条件に対応する制御内容と、他の抗体モジュールに対する親和性とが定義されており、刺激条件が互いに異なる複数の抗体モジュールのなかから、免疫ネットワークにおける抗体の刺激作用と抑制作用とに基づいてある抗体モジュールを選択し、選択された抗体モジュールによって定義された制御内容に応じて制御対象装置を制御する制御方法を提供する。かかる制御方法において、抗体モジュールのそれぞれを処理対象として、抗体モジュールを選択する際の指標となる抗体濃度を算出する第１のステップと、算出された抗体濃度と予め設定された目標値とに基づいて、抗体濃度が目標値へ収束したか否かを判定する第２のステップと、第２のステップによって抗体濃度が目標値へ収束していないと判定された場合に、抗体濃度を目標値へ近づけるように、抗体濃度を補正する補正パラメータを算出する第３のステップと、第２のステップによって抗体濃度が目標値へ収束したと判定された場合に、抗体モジュールを評価する評価値を算出する第４のステップと、複数の抗体モジュールについて算出された評価値のそれぞれに基づいて、複数の抗体モジュールのうちのある抗体モジュールを選択する第５のステップとを有する。
【００１２】
ここで、第２の発明において、第３のステップは、抗体濃度を目標値へ近づける程度が互いに異なるように、複数の補正パラメータを算出するステップと、制御対象装置の外部環境に応じて、複数の補正パラメータのうちのある補正パラメータを選択するステップと、選択された補正パラメータに基づいて、抗体濃度を補正する補正パラメータを決定するステップとを有することが好ましい。あるいは、第３のステップは、制御対象装置の外部環境に応じて、抗体濃度を目標値へ近づける程度が互いに異なる複数の補正レベルのうちのある補正レベルを選択するステップと、選択された補正レベルに基づいて、補正パラメータを算出するステップとを有していてもよい。
【００１３】
また、第２の発明において、第４のステップは、抗体濃度が目標値へ収束するまでの抗体濃度の積算値を評価値として算出し、第５のステップは、算出された評価値が最も大きい抗体モジュールを選択することが好ましい。
【００１４】
【発明の実施の形態】
図１は、本実施形態にかかる制御システムの全体構成図である。制御システム１は、免疫ネットワークにおける抗体の刺激作用と抑制作用と（刺激・抑制作用）に基づいて、制御対象装置であるロボットＲｏの行動（走行）を自律的に制御する。この制御システム１の特徴の一つは、複数のロボットＲｏが走行する動的環境において、ロボットＲｏ間の相互調和を図ることにより、衝突を回避しつつそれぞれが目的地へ向かうようにロボットＲｏを制御する点にある。図２は、ロボットＲｏの動作環境を示す図であり、５つのロボットＲｏが例示されている。各ロボットＲｏは正方形で示されたフィールドの端部位置（四隅および一辺）に初期的に配置されている。そして、同図に示すように、各ロボットＲｏは、点線の矢印で示された方向に存在する目的地に向かうように走行する。
【００１５】
図３は、ロボットＲｏの移動方向と障害物検知範囲を示した図である。同図（ａ）に示すように、ロボットＲｏは、独立した２輪を制御することで、前Ｓｔ、右Ｒ、左Ｌ、右斜め前Ｓｔ．Ｒおよび左斜め前Ｓｔ．Ｌの５方向に進むことができる。また、このロボットＲｏは、カメラまたはレーザレーダなどの各種センサ、或いはこれらの組合わせからなる障害物監視センサ（図示せず）を有している。そのため、同図（ｂ）に示すように、ロボットＲｏは、障害物（例えば、他のロボットＲｏ）や目的地までの距離およびその方向（正面、右、左）といった情報を検出することができる。これらの障害物や目的地に関する情報は、後述するように制御入力として制御システム１に対して入力される。
【００１６】
まず、免疫ネットワークの前提となる生体の免疫システム、および、この免役ネットワークについて説明し、その後に、本制御システム１のシステム構成およびシステム処理について説明する。生体の免疫システムは、ウィルスや癌細胞などの体内外からの異物である抗原から生体を防御する機構である。免疫システムの主な構成要素は、リンパ球と呼ばれる細胞群であり、Ｂ細胞とＴ細胞の二種類に分類される。これらの細胞のうちＢ細胞は、骨髄に由来するリンパ球であり、その表面からＹ字型のタンパク質である抗体を分泌（生産）する。この抗体は、抗原と特異的に反応することで増殖し、それを排除する役割を担っている（抗原・抗体反応）。各種の抗原は、その特徴を示す抗原決定基であるエピトープと呼ばれる部位を有する。一方、各種の抗体は、抗原結合部位であるパラトープと呼ばれる抗原認識部位（レセプター）を有している。Ｂ細胞は、抗原のエピトープと抗体のパラトープとが、鍵と鍵穴のように特異的に反応することにより抗原を認識し、認識できた場合にはその抗原に刺激されて増殖し、抗体の分泌量を増やす。これにより、抗原は、増殖した抗体によって抑制され、最終的には排除される。また、近年の免疫学的な研究によれば、抗体自身もその特性を示す抗原決定基をさらに有しているという事実が明らかになっており、抗体が有する抗原決定基はイディオトープと呼ばれる。
【００１７】
この点に関し、具体的に説明する。まず、抗原と抗体との関係について述べる。ある抗原が生体内に侵入すると、その抗原は、「鍵と鍵穴」の関係にある抗体（例えば、抗体ＡＢ１）と、その抗体ＡＢ１を産生するＢ細胞Ｂ１とを刺激する。これにより、刺激された抗体ＡＢ１およびＢ細胞Ｂ１が増殖することにより、その抗原の抑制および排除が行われる。つぎに、抗体間の関係について述べる。例えば、抗体ＡＢ１のイディオトープＩｄ１が、これとは異なる抗体ＡＢ２のパラトープＰ２と「鍵と鍵穴」の関係にあるとする。つまり、抗体ＡＢ１は、抗体ＡＢ２に対して抗原として働くため、抗体ＡＢ２のパラトープを通じて抗体ＡＢ２を生産するＢ細胞Ｂ２を刺激する。その刺激されたＢ細胞Ｂ２から遊離した抗体ＡＢ２は、抗体ＡＢ１を抑制する。一方、抗体ＡＢ１のパラトープＰ１は、抗体ＡＢ３のイディオトープＩｄ３と「鍵と鍵穴」の関係にあるとする。つまり、抗体ＡＢ３は、抗体ＡＢ１によって抗原として見なされるため、抗体Ａｂ１を生産するＢ細胞Ｂ１を刺激する。その刺激されたＢ細胞Ｂ１から遊離した抗体ＡＢ１は、抗体ＡＢ３を生産するＢ細胞Ｂ３を抑制する。
【００１８】
以上の事実より、以下に示す免疫ネットワーク説が提唱されている。具体的には、抗原のエピトープと抗体のパラトープとの間に刺激・抑制の関係が存在するばかりではなく、各抗体のパラトープとイディオトープとの間にも刺激・抑制の関係が存在している。そして、システム全体として大規模な網目状のネットワークを形成することにより、個体の存続を実現している。すなわち、抗体ネットワークとは、各種の抗体が生体内を単にばらばらに浮遊しているのではなく、他の抗体と相互にコミュニケーションをとりながら抗原を認識し、他の抗体を刺激・抑止しつつ必要に応じた抗体が増殖することで、抗原を排除するシステムをいう。
【００１９】
上記の免疫ネットワーク説に基づいて、生物の免疫システムと、ロボットＲｏの制御とを比較してみると、両者は以下に示す相関を有する。まず、ロボットＲｏのセンサが検出する外部環境に関する情報（制御入力）は、生体内に侵入する抗原と捉えることができる。つぎに、ロボットＲｏの取り得る要素行動（前進、右折、左折など）は、抗体と捉えることができる。また、要素行動間の相互作用は、免疫ネットワークにおける抗体間の刺激・抑制作用で置き換えることができる。そのため、現在の外部環境に対する要素行動間の相互作用に基づいて、ロボットＲｏの適切な要素行動を自律的に選択することにより、動的に変化する環境に対して適切に対処する（すなわち、個体の存続を実現する）制御手法を見出すことができる。このように、本実施形態に示す制御システム１は、免疫ネットワークにおける刺激・抑制作用に基づいた生体の免疫システムを模擬したアルゴリズムを用いている。
【００２０】
再び図１を参照し、免疫ネットワークを用いた制御システム１について説明する。制御システム１としては、ＣＰＵ、ＲＡＭ、ＲＯＭ、入出力インターフェース等で構成されたマイクロコンピュータを用いることができる。この制御システム１は、これを機能的に捉えた場合、免疫系（以下、単に「ＩＭＳ」という）２と、収束判定部４と、収束制御部５と、抗体評価部７とで構成される。本実施形態にかかる制御システム１が免役ネットワークに基づいた通常の制御システム（「行動調停機構」ともいう）と異なるのは、ＩＭＳ２の出力の一部を入力に戻すフィードバックループの途中に収束判定部４および収束制御部５を設けた点である。以下、これらの構成要素の詳細について説明する。
【００２１】
免疫システムにおける抗体に相当するＩＭＳ２は、ｎ個の抗体モジュールＡＢｉ（ｉ＝１〜ｎ）と、演算部３とで構成される。各抗体モジュールＡＢｉは、パラトープとイディオトープとで構成される。パラトープには、その抗体モジュールＡＢｉを選択する際の刺激条件（「前提条件」ともいう）と、ロボットＲｏに対する制御内容（すなわちロボットＲｏの要素行動）との対応関係が定義されている。例えば、刺激条件が「目的地が前方に存在する」ならば、これに対応する制御内容は「前進」になり、刺激条件が「他のロボットＲｏが左に存在する」ならば、これに対応する制御内容は「右斜め前進」になる。一方、イディオトープには、抗体モジュールＡＢｉの制御内容によって影響を与える他の抗体モジュールＡＢｋ（ｋ＝１〜ｎ：ｋ≠ｉ）、すなわち、抗体モジュールＡＢｉが刺激する抗体モジュールＡＢｋのＩＤ番号（１〜ｎ）が定義されている。これとともに、イディオトープには、抗体間親和性（以下、単に「親和性」という）と呼ばれるその刺激の程度ｍｉｋが、抗体モジュールＡＢｋのＩＤ番号と対応付けて定義されている。例えば、抗体モジュールＡＢｉの刺激条件が「目的地が前方に存在する」で、これに対応する制御内容が「前進」であるとする。この場合、この抗体モジュールＡＢｉのイディオトープには、例えば、「他のロボットが前方に存在する」を刺激条件とする抗体モジュールＡＢｋのＩＤ番号と、この抗体モジュールＡＢｋに対して与える親和性ｍｉｋとが定義される。
【００２２】
図４は、抗原を示した図であり、８つの抗原が例示されている。また、図５は、抗体を示す図であり、図４に示す抗原を刺激条件とする８つの抗体が示されている。抗原は、目的地に関する抗原と、相手ロボットＲｏに関する抗原とを含む。図４に示す「Ｄ」は目的地を意味し、同様に「Ｒｏｂｏｔ」は他のロボットＲｏを意味する。［＊，Ｄ］は「＊」方向に目的地が存在するという抗原を表し、［＊，Ｒｏｂｏｔ］は「＊」方向に相手ロボットＲｏｂｏｔが存在する抗原を表している。抗原の数が刺激条件の数となり、この刺激条件の数に応じたｎ個の抗体モジュールＡＢｉが設けられる。そのため、これらの抗原に対応して、上述した如くパラトープとイディオトープとが定義された抗体モジュールＡＢｉが、例えば図５に示すように決定される。
【００２３】
各抗体モジュールＡＢｉは、現在の状況における自身の制御内容の適切さの度合、すなわち、抗体モジュールＡＢｉを選択する際の指標となる状態変数である抗体濃度によって評価される。抗体濃度は、各抗体モジュールＡＢｉの自己主張度に相当し、基本的に抗体濃度が高い抗体モジュールＡＢｉほど選択される可能性が高いことを意味する。この抗体濃度は、ＩＭＳ２を構成する演算部３によって算出される。具体的には、ある時刻ｔでの抗体モジュールＡＢｉの抗体濃度ａｉ（ｔ）は、以下に示す数式１を用いて求めることができる。
【数１】
2004265147.tif 000003
【００２４】
同数式において、ｍｉは、抗体モジュールＡＢｉのパラトープと抗原との親和性であり、抗原までの距離、方角、種類を定量的に示している。ｍｊｉは、抗体モジュールＡＢｉのパラトープと、この抗体モジュールＡＢｉを刺激する抗体モジュールＡＢｊ（ｊ＝１〜ｎ：ｊ≠ｉ）のイディオトープとの親和性である。また、ａｊ（ｔ）はある時刻ｔでの抗体モジュールＡＢｊの抗体濃度であり、ａｋ（ｔ）はある時刻ｔでの抗体モジュールＡＢｋの抗体濃度である。また、ｕｌ（ｔ）は、後述する収束制御部５によって決定される補正パラメータである。
【００２５】
図６は、ある抗体モジュールＡＢｉに関する刺激の相関を示した図である。上述の数式１における親和性ｍｉ（右辺第一項）は、抗体モジュールＡＢｉに対する抗原からの刺激を示す。抗体濃度ａｊ（ｔ）と親和性ｍｊｉとの積（同辺第二項）は、抗体モジュールＡＢｉに対する他の抗体モジュールＡＢｊからの刺激を示す。また、抗体濃度ａｋ（ｔ）と親和性ｍｉｋとの積（同辺第三項）は、抗体モジュールＡＢｉからの抗体モジュールＡＢｋへの刺激を示す。換言すれば、抗体濃度ａｉ（ｔ）は、抗原からの刺激と、他の抗体モジュールＡＢｊへの刺激と、他の抗体モジュールＡＢｋからの抑制との総和を意味している。なお、抗体モジュールＡＢｉがＮ個の抗体モジュールＡＢｊからの刺激を受けた場合、与えられたすべての刺激の平均が他の抗体モジュールＡＢｊからの刺激となる。また、抗体モジュールＡＢｉがＮ個の抗体モジュールＡＢｋに対して刺激を与えた場合、与えた刺激の平均が他の抗体モジュールＡＢｊへの刺激となる。
【００２６】
演算部３には、抗体濃度ａｉ（ｔ）を算出する前提として、各抗体モジュールＡＢｉの抗体濃度の初期値、すなわち時刻０における抗体濃度ａｉ（０）が設定されている。上述した数式１から算出される値は抗体濃度ａｉ（ｔ）の微小時間あたりの変化量であるため、演算部３はこの初期値に基づいてある時刻ｔにおける抗体濃度ａｉ（ｔ）を算出する。この抗体濃度ａｉ（０）は、演算を行う際の初期値であり、任意の値を設定可能である。演算部３は抗体モジュールＡＢ１〜ＡＢｎのそれぞれを処理対処として抗体濃度ａｉ（ｔ）を算出し、この抗体濃度ａｉ（ｔ）が収束判定部４に対して出力される。
【００２７】
収束判定部４は、抗体モジュールＡＢｉ毎に、算出される抗体濃度ａｉ（ｔ）が目標値ｒｉに収束しているか否かを判定する（収束判定）。この目標値ｒｉは、各抗体モジュールＡＢｉの抗体濃度ａｉ（ｔ）に対応して予め設けられている。この目標値ｒｉは、各抗体モジュールＡＢｉの抗体濃度ａｉ（ｔ）を収束させる目安となる値であればよく、どの様な値を設定してもよい。例えば、それぞれの抗体モジュールＡＢｉに対して同一の目標値ｒｉを設定してもよいし、本実施形態に示すように抗体濃度の初期値ａｉ（０）を目標値として設定してもよい。収束判定部４は、ＩＭＳ２から出力される抗体濃度ａｉ（ｔ）に基づき、この値が目標値ｒｉに収束したと判断した場合には、「収束」の判定を行う。一方、抗体濃度ａｉ（ｔ）が目標値ｒｉに収束していないと判断した場合には、「未収束」の判定が行わる。なお、収束判定部４は、抗体濃度ａｉ（ｔ）が目標値ｒｉに完全に収束した場合に限り「収束」の判定を行う必要はなく、目標値ｒｉに収束したと見なせる程度であれば「収束」の判定を行ってもよい。すなわち、収束判定部４は、抗体濃度ａｉ（ｔ）と目標値ｒｉとの差の絶対値（誤差）としきい値εとを比較し、この誤差がしきい値ε以下であるか否かにより、収束判定を行ってもよい。収束判定部４によって「収束」の判定が行われた場合には、抗体濃度ａｉが収束している旨の制御信号が抗体評価部７に対して出力される。一方、収束判定部４によって「未収束」の判定が行われた場合には、現在の抗体濃度ａｉ（ｔ）と目標値ｒｉとの誤差に応じた制御信号が、収束制御部５に対して出力される。
【００２８】
収束制御部５は、算出された抗体濃度ａｉ（ｔ）を目標値ｒｉへ近づけるように、抗体濃度ａｉ（ｔ）を補正する補正値（補正パラメータｕｌ（ｔ））を算出する。この収束制御部５は、ｍ個の収束制御モジュールＣｌ（ｌ＝１〜ｍ）と、制御選択部６とで構成される。
【００２９】
各収束制御モジュールＣｌは、抗体濃度ａｉ（ｔ）と目標値ｒｉとの誤差（正確には収束判定部４から出力された制御信号）に基づき、ＰＩＤ制御を用いて補正パラメータｕｌ（ｔ）を算出する。ここで、ＰＩＤ制御は、比例（Ｐｒｏｐｏｒｔｉｎａｌ）、積分（Ｉｎｔｅｇｒａｌ）および微分（Ｄｉｆｆｅｒｅｎｔｉａｌ）の各制御手法を組合わせ、ある制御対象値を目標値へ近づけるように、操作量を調整する制御手法である。比例制御は、制御対象値の現在値と目標値との偏差に比例した大きさとして操作量を決定し、この操作量に応じて制御対象値を目標値に近づける。この比例制御に積分制御を加えた、いわゆるＰＩ制御は、比例制御を行った場合に生じる残留偏差を時間的に累積し、この累積値がある大きさになった時点で操作量を大きくすることにより、残留偏差を無くす制御手法である。また、積分制御は、今回の偏差と前回の偏差との差が大きい場合に、操作量を大きくすることにより、制御対象値を目標値へ収束させる制御である。比例・微分制御に加え、積分制御を加えたＰＩＤ制御は、制御対象値を素早く目標値に収束させるような積極的な制御を行うことができる。本実施形態において、制御対象値、目標値および操作量は、抗体濃度ａｉ（ｔ）、目標値ｒｉおよび補正パラメータｕｌ（ｔ）に対応する。
【００３０】
ｍ個の収束制御モジュールＣｌは、このようなＰＩＤ制御を行うに当り、抗体濃度ａｉ（ｔ）を目標値ｒｉへ近づける程度、すなわち、どの制御にウェイトを置くかという補正レベルが相違している。このように、複数の収束制御モジュールＣｌを設ける理由は、非線形微分方程式（数式１）で表現される抗体濃度ａｉ（ｔ）の変化が抗原ｍｉに応じて異なることが考えられるからである。すなわち、相手のロボットＲｏが近くにいる場合と、相手のロボットＲｏが遠くにいる場合とでは、相手ロボットＲｏが存在することを示す抗原からの刺激ｍｉが変化する。そのため、収束制御モジュールＣｌを一つのみを用いた場合には、この収束制御モジュールＣｌがある外部環境では抗体濃度ａｉ（ｔ）を適切に制御できたとしても、異なる外部環境では抗体濃度ａｉ（ｔ）を適切に制御できない可能性がある。そこで、本実施形態では、制御選択部６が外部環境（すなわち、抗原）に応じ、収束制御モジュールＣ１〜Ｃｍを使い分けることにより、目標値への収束性の向上を図っている。
【００３１】
制御選択部６は、ニューラルネットワークＮＮで構成される。図７は、ニューラルネットワークＮＮの基本構造を示す図である。入力層、中間層および出力層からなる階層型ニューラルネットワークにおいて、それぞれの層は、同一機能を有する複数の素子で構成されている。それぞれの素子は、固有の重み係数ｗｉｊで結合されている。本実施形態において、入力層には、各収束制御モジュールＣｌから出力されるｍ個の補正パラメータｕｌ（ｔ）と、抗原からの刺激（制御入力）とが入力される。そして、出力層からは、抗体濃度ａｉ（ｔ）を適切に制御し得る、外部環境に応じたある補正パラメータｕｌ（ｔ）が出力される。この補正パラメータｕｌ（ｔ）は、基本的に、補正パラメータｕ１（ｔ）〜ｕｍ（ｔ）の中から択一的に選択される。ただし、制御選択部６がニューラルネットワークＮＮで構成される関係上、制御選択部６は、入力された補正パラメータｕ１（ｔ）〜ｕｍ（ｔ）を任意の組合わせで選択し、選択された値に基づき新たな補正パラメータｕｌ’（ｔ）を出力してもよい。換言すれば、このニューラルネットワークＮＮは、抗原に応じて、ｍ個の収束制御モジュールＣ１〜Ｃｍのうちのある収束制御モジュールＣｌを選択する機能を担っている。そして、選択された収束制御モジュールＣｌによって算出された補正パラメータｕｌ（ｔ）に基づいて、抗体濃度ａｉ（ｔ）を補正する補正パラメータｕｌ（ｔ）を決定している。
【００３２】
ニューラルネットワークＮＮによる出力結果の精度向上を図るためには、重み係数ｗｉｊを適切に調整する必要がある。この調整（学習ともいう）は、バックプロパゲーション（Ｂａｃｋ−Ｐｒｏｐａｇａｔｉｏｎ）法と呼ばれる手法を用いて行う。これは、学習するための教師用データを予め用意し、結果が教師用データと一致するように学習を進め、重み係数ｗｉｊを決定する方法である。重み係数ｗｉｊの初期値は、乱数で与える。入力データをニューラルネットワークの入力層素子に入力し、出力層素子からの出力結果を教師用データの値と比較し、しきい値θｊに対する修正を繰り返して学習を進める。
【００３３】
抗体評価部７は、抗体濃度ａｉ（ｔ）の変化量に基づいて、抗体モジュールＡＢｉを評価する評価値Ｐｉを算出する。この評価値Ｐｉは、以下に示す数式２に基づいて、一義的に算出される。
【数２】
2004265147.tif 000004
【００３４】
同数式において、ｔｃは抗体モジュールＡＢｉの抗体濃度ａｉ（ｔ）が目標値ｒｉに収束した時刻であり、評価値Ｐｉは目標値ｒｉに収束するまでに変化した抗体濃度ａｉ（ｔ）の積算値である。そして、抗体評価部７は、算出されたそれぞれの評価値Ｐｉに基づいて、ｎ個の抗体モジュールＡＢｉのうち、ある一つの抗体モジュールＡＢｉを選択する。抗体濃度ａｉ（ｔ）は自己主張度に相当するため、ある時間範囲（ｔ＝０〜ｔｃ）において、自己主張が最も強い抗体モジュールＡＢｉほど、評価値Ｐｉが大きくなる。そのため、ｎ個の抗体モジュールＡＢｉのうちの、最も大きい評価値Ｐｉが算出された抗体モジュールＡＢｉが選択される。
【００３５】
図８は、本実施形態にかかる制御システム１のシステム処理を示したフローチャートである。本ルーチンは、所定の周期で呼び出され、制御システム１によって実行される。まず、ステップ１において、制御変数ｉが「１」にセットされるとともに、制御変数ｔが「１」にセットされる。制御変数ｉは、処理対象となる抗体モジュールＡＢｉを特定する変数であり、抗体モジュールＡＢｉのＩＤに対応している。また、制御変数ｔは、本ルーチンにおける１サイクル内での時刻を規定する変数である。すなわち、このステップ１では、ＩＤが１番の抗体モジュールＡＢ１が処理対象として選択され、時刻が初期的に１として設定される。なお、初期的な時刻が「１」にセットされる理由は、時刻ｔ＝０における抗体濃度ａｉ（０）が予め初期値として与えられている関係上、時刻ｔ＝０における抗体濃度ａｉ（０）を算出する必要がないからである。
【００３６】
ステップ２において、抗原からの刺激ｍｉが特定される。刺激ｍｉを求める前提として、演算部３は、抗原に関する情報（すなわち、相手ロボットＲｏに関する情報および目的地に関する情報）を制御入力として取得する。そして、演算部３は、この制御入力に基づいて、この刺激ｍｉを定量的に算出する。刺激ｍｉの算出手法としては、例えば、検出された他のロボットＲｏまでの距離に対し、所定の規則に則って係数を乗じるといった如くである。そして、演算部３は、現在の時刻ｔにおける抗体モジュールＡＢｉの抗体濃度ａｉ（ｔ）を算出する（ステップ３）。なお、抗体濃度ａｉ（ｔ）を算出するにあたり、補正パラメータｕｌ（ｔ）を適切に設定する必要があるが、抗体濃度ａｉ（１）の算出では補正パラメータｕｌ（ｔ）が算出されていないため、０或いは任意の初期値を用いることが好ましい。
【００３７】
ステップ４において、抗体モジュールＡＢｉの抗体濃度ａｉ（ｔ）と目標値ｒｉとが比較され、抗体濃度ａｉ（ｔ）が目標値ｒｉに収束したか否かが判断される。具体的には、収束判定部４は、抗体濃度ａｉ（ｔ）と目標値ｒｉとの誤差を算出し、この誤差がしきい値ε以下であるか否かを判断する。このしきい値εは、抗体濃度ａｉ（ｔ）が目標値ｒｉに収束したと見なせる程度の誤差の最大値として、予め実験やシミュレーションを通じて設定されている。そのため、このステップ４で否定された場合（両者の誤差がしきい値εよりも大きい場合）、「未収束」の判定が行われ、続くステップ５に進む。一方、このステップ４で肯定された場合（両者の誤差がしきい値ε以下の場合）、「収束」の判定が行われ、後段のステップ８に進む。
【００３８】
ステップ４に続くステップ５において、制御選択部６は、外部環境（抗原）に応じて、任意の収束制御モジュールＣｌを選択する。そして、この選択された収束制御モジュールＣｌが抗体濃度ａｉ（ｔ）と目標値ｒｉとの差に基づきＰＩＤ制御を行うことにより、補正パラメータｕｌ（ｔ）が算出される（ステップ６）。本実施形態では制御選択部６がニューラルネットワークＮＮで構成される関係上、収束制御モジュールＣｌの選択は、ニューラルネットワークＮＮの結合重み係数Ｋｉｊにより行われる。具体的には、各収束制御モジュールＣｌは、抗体濃度ａｉ（ｔ）と目標値ｒｉとの差に基づいて補正パラメータｕｌ（ｔ）を個別に算出している。そして、個別に算出された各補正パラメータｕｌ（ｔ）と、抗原からの刺激ｍｉがニューラルネットワークＮＮの入力層に入力される。そして、予め学習された結合重み係数Ｋｉｊに従うことにより、出力層から、ある制御モジュールＣｌによって算出された補正パラメータｕｌ（ｔ）が択一的に出力される、或いは、補正パラメータｕ１（ｔ）〜ｕｍ（ｔ）の任意の組合わせに基づいて算出される補正パラメータｕｌ’（ｔ）が出力される。すなわち、ニューラルネットワークＮＮの結合重み係数Ｋｉｊに従うことで、ｍ個の収束制御モジュールＣｌのなかから、抗原に応じたある収束制御モジュールＣｌが、一つ或いは二つ以上選択されることになる。
【００３９】
そして、ステップ７において制御変数ｔが「ｔ＋１」にセットされ、上述したステップ３に戻る。そして、補正パラメータｕｌ（ｔ）に基づいて、新たに抗体濃度ａｉ（ｔ＋１）が算出され、抗体濃度ａｉ（ｔ）が目標値ｒｉに収束するまで、上述した処理を繰り返し行う。
【００４０】
一方、「収束」の判定が行われると、ステップ８において、抗体モジュールＡＢｉの評価値Ｐｉが算出される。この評価値Ｐｉは、上記の数式２に示した如く、抗体濃度ａｉ（ｔ）が目標値ｒｉに収束するのに要した時刻ｔｃまでの抗体濃度ａｉ（ｔ）の積算値として算出される。
【００４１】
ステップ９において、制御変数ｉが抗体モジュールＡＢｉの個数ｎと一致するか否かが判定される。本実施形態において、制御変数ｉは１づつステップ的に制御されるため、ｎ個の抗体モジュールＡＢｉのすべてについて評価値Ｐｉが算出されている場合、このステップ９では肯定判定され、後段のステップ１１に進む。一方、ｎ個の抗体モジュールＡＢｉのすべてについて評価値Ｐｉが算出されていない場合、このステップ９では否定判定され、続くステップ１０に進む。そして、ステップ１０において、制御変数ｉが「ｉ＋１」にセットされ、ｎ個の抗体モジュールＡＢｉのすべてについて評価値Ｐｉが算出されるまで、上述したステップ２〜８までの処理が繰り返し行われる。
【００４２】
そして、ステップ１１において、算出されたそれぞれの評価値Ｐｉのうち、最も評価値Ｐｉが大きい抗体モジュールＡＢｉが択一的に選択され、本ルーチンを抜ける。そして、この処理サイクルにおいて選択された抗体モジュールＡＢｉに定義された制御内容が出力され（制御出力）、これに応じて各種アクチュエータ（図示せず）が動作することにより、ロボットＲｏの動作が制御される。そして、このような処理サイクルを順次重ね、評価値Ｐｉが最も大きい抗体モジュールＡＢｉに定義された制御内容に従ってロボットＲｏを順次制御することにより、ロボットＲｏの行動が自律的に制御されることになる。
【００４３】
このように、本実施形態によれば、免疫ネットワークにおける抗体間の刺激・抑制作用に基づいて、複数の抗体モジュールＡＢ１〜ＡＢｎのうちのある抗体モジュールＡＢｉが択一的に選択される。上述したように、生体内の免役システムを模擬することにより、抗体モジュールＡＢｉ間の相互作用に基づいて、現在の外部環境に応じてロボットＲｏが最適な行動を起こし得るような、適切な抗体モジュールＡＢｉが選択される。これにより、この抗体モジュールＡＢｉに定義された制御内容に応じてロボットＲｏを制御することにより、他のロボットＲｏとの衝突を回避しつつそれぞれが目的地へ向かうように、ロボットＲｏの行動を自律的に制御することができる。
【００４４】
また、本実施形態では、抗体濃度ａｉ（ｔ）をフィードバックすることにより、ある時間相当だけ経過させて抗体濃度ａｉ（ｔ）を変化させている。そのため、時間的にある程度だけ先を見越した上で、最適な抗体モジュールＡＢｉを選択することができるので、制御の信頼性を高めることができる。
【００４５】
ところで、上述したフィードバックを行うだけでは、抗体濃度ａｉ（ｔ）が周期解と呼ばれる値を示す場合がある。図９は、周期解の一例を示す説明図である。同図に示すように、ある時間ｔ’では、抗体モジュールＡＢｉ’の抗体濃度ａｉ’（ｔ）の方が、抗体モジュールＡＢｉ”のそれよりも大きい。ところが、時間ｔ”（ｔ”≠ｔ’）では、抗体モジュールＡＢｉの抗体濃度ａｉ”（ｔ）の抗体濃度ａｉ”（ｔ）方が、抗体モジュールＡＢｉ’のそれよりも大きい。抗体濃度ａｉ（ｔ）が周期解となっている場合、選択を行う時刻ｔにおいて、抗体濃度ａｉが最も大きくなる抗体モジュールＡＢｉが相違する。上述したように、抗体モジュールＡＢｉに定義されている制御内容によってロボットＲｏが動作する関係上、時間によって選択される抗体モジュールＡＢｉが相違することで、最適な抗体モジュールＡＢｉが選択されない可能性がある。そのため、このような周期解が発生している状況では、ロボットＲｏ同士がぶつかったり、或いは、目的地に到達するまでに必要以上に時間がかかるなどの事態が起こり得る。この点に関し、本実施形態では、収束制御部５を用いることにより、抗体濃度ａｉ（ｔ）が目標値ｒｉ（ｔ）に収束させられるので、周期解の発生が抑制されている。また、収束するまでに変化した抗体濃度ａｉ（ｔ）の積算値が評価値Ｐｉとして用いられている。そのため、一時的にある抗体モジュールＡＢｉの抗体濃度ａｉ（ｔ）が大きくなったとしても、これに惑わされることなく、その時間の範囲内で全体的に抗体濃度ａｉ（ｔ）が大きかったものが最もよい評価を得ることになる。
【００４６】
また、収束制御部５において、複数の収束制御モジュールＣｌを設け、外部環境（すなわち、抗原）に応じて、ｍ個の収束制御モジュールＣｌの使い分けが行われる。これにより、抗体濃度ａｉ（ｔ）を有効に目標値ｒｉに収束させることができるので、収束に要する時間を短縮することができる。その結果、短時間で制御内容を決定することができ、効率的にロボットＲｏの制御を行うことができる。例えば、収束制御モジュールＣｌの使い分けが行われない場合には、抗体濃度ａｉ（ｔ）の制御が適切に行われず、同じような状況でロボットＲｏ同士が衝突する可能性がある。しかしながら、収束制御モジュールＣｌを使い分けることで、このような衝突を防止することができる。なぜならば、制御選択部６を構成するニューラルネットワークＮＮの事前の学習において、以前に起きた状況で、衝突を回避できた制御モジュールＣｌをニューラルネットワークＮＮが記憶しているからである。そのため、外部環境に応じた収束制御モジュールＣｌの使い分けがなされるため、常に抗体濃度ａｉ（ｔ）の適切な制御が可能となり、最適な制御内容が定義された抗体モジュールＡＢｉの評価値Ｐｉが最大となるのである。これにより、ロボットＲｏの自律的な動作の安定性が保証されるとともに、効果的な制御を行うことができる。
【００４７】
なお、上述の実施形態では、各収束制御モジュールＣｌは、ＰＩＤ制御を行うことにより、補正パラメータｕｌ（ｔ）を算出したが、本発明はこれ以外の手法を用いることができる。このような手法としては、ニューラルネットワーク、遺伝的アルゴリズムまたは現代制御理論に基づく各種制御手法が挙げられる。
【００４８】
図１０は、収束制御部５の変形例を示した図である。上述した実施形態では、収束制御モジュールＣｌの後段に、制御選択部６を設けている。しかしながら、同図に示すように、収束制御モジュールＣｌの前段に制御選択部６を設けてもよい。このような構成であっても、学習するための教師用データを予め用意し、結果が教師用データと一致するように学習を進め、重み係数ｗｉｊを決定することにより、上述した収束制御部５を同様の機能を実現することができる。すなわち、制御選択部６は、抗体濃度ａｉ（ｔ）を目標値ｒｉへ近づける程度が互いに異なる複数の補正レベルによって構成された収束制御モジュールＣ１〜Ｃｍのなかから、外部環境（抗原）に応じてある補正レベルの収束制御モジュールＣｌを選択する。そして、この選択された補正レベルに対応する収束制御モジュールが補正パラメータを算出することになる。また、制御選択部６は、ニューラルネットワークＮＮ以外にも、収束制御モジュールＣｌの出力を択一的に切り替えるような、スイッチによって構成してもよい。この場合、制御選択部６は、遺伝的アルゴリズムなどを用いて適切に調節することができる。
【００４９】
また、制御システム１が制御する制御対象装置はロボットＲｏ以外にも、エンジンあるいはモータなどの自律的な制御を適用可能な各種装置であってよい。例えば、制御システム１がエンジンを自律的に制御する場合、抗原には、水温、アクセル開度、車速、エンジン回転数などと、これらの状態量が挙げられる。そして、この抗原に応じた刺激条件と、この刺激条件により行うべき制御内容を定義することにより、上述した実施形態と同様に、抗体の刺激・抑制作用に基づいて、自律的なエンジン制御を行うことができる。
【００５０】
【発明の効果】
このように本発明によれば、免疫ネットワークにおける抗体間の刺激作用と抑制作用とに基づいて、複数の抗体モジュールのうちのある抗体モジュールが選択される。生体内の免役システムを模擬することにより、抗体モジュール間の相互作用から、現在の外部環境に応じて制御対象装置が最適に行動するような適切な抗体モジュールを選択することができる。また、抗体濃度を算出する際に、目標値に収束するように抗体濃度が補正されるため、周期解の発生を抑制することができる。
【図面の簡単な説明】
【図１】本実施形態にかかる制御システムの全体構成図
【図２】ロボットの動作環境を示す図
【図３】ロボットの移動方向と障害物検知範囲を示した図
【図４】抗原を示した図
【図５】抗体を示す図
【図６】抗体モジュールに関する刺激の相関を示した図
【図７】ニューラルネットワークＮＮの基本構造を示す図
【図８】本実施形態にかかる制御システムのシステム処理を示したフローチャート
【図９】周期解の一例を示す説明図
【図１０】収束制御部の変形例を示した図
【符号の説明】
１      制御システム
２      ＩＭＳ
３      演算部
４      収束判定部
５      収束制御部
６      制御選択部
７      抗体評価部
【図１】
2004265147.tif 000005
【図２】
2004265147.tif 000006
【図３】
2004265147.tif 000007
【図４】
2004265147.tif 000008
【図５】
2004265147.tif 000009
【図６】
2004265147.tif 000010
【図７】
2004265147.tif 000011
【図８】
2004265147.tif 000012
【図９】
2004265147.tif 000013
【図１０】
2004265147.tif 000014