スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Subsumption architecture

2009年12月24日 20:46

Emerge+の中の人とtwitterで知り合いまして。
BEAM robotとか人工生命の話で盛り上がりました。
そして・・

「自分はブルックスのサブサンプションをやってました」と。

サブサンプション? なんぞそれ。


Subsumption architecture - 並列に動作するエージェントがあり、それが優先順位の高い順に実行されるという制御方法です。
例えば、1:"直進する"エージェントと、2:"障害物を避ける"エージェントがあり、2番目のエージェントの方を高い優先度に設定すると、通常は1番目のエージェントが働きますが、障害物を検出すると即座に2番目に切り替わる、というものです。
優先順位をつけるだけではなく、同じ優先度レベルで複数のエージェントを用いることもあります。
これは例えば、多足歩行式のロボットの足を駆動するエージェントを、足の一本一本に対して用意する、ということです。
また、優先順位が高くなるほどエージェントの動作が抽象的になります。

低優先度 足を動かす → 前進する → 障害物を回避する 高優先度


そしてこの方法の利点は、
・制御部をエージェントごとにモジュール化できる
・並列で高速、環境密着型の制御が可能
・モジュールごとに動作テストができるので、デバッグが簡単
などがあります。
オブジェクト指向型エンジニアリング、でしょうか。

ここで面白いのは、サブサンプションは提唱されたのが1986年、ひとつのエージェントごとにひとつのCPUを割り振るという構成でした。
現在のような高性能なCPUがまだなかった時代です。
プロセッサを使わないナーバスネットをTildenが提唱したのは1989年、CPUは燃費が悪く・・高価で・・信頼性も・・もしかすると、サブサンプションを改良した考えなのかもしれません。
"プロセッサ"と"ナーバスネット"を読み替えれば、考え方としてはほとんど違いがないのでそう思ったのですが・・


・・・・こういう製作秘話的な"歴史"は面白いんだけどなぁ(ぼそっ)
スポンサーサイト


コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://actiasartemisaliena.blog6.fc2.com/tb.php/181-88c87774
    この記事へのトラックバック


    最新記事


    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。