サブサンプション・エンジンを作る(その3)
花岡ちゃんのウィークエンド:サブサンプション
今回はバンダイ流サブサンプション・エンジンを詳しく見ていきますが、その前に、サブサンプション・アーキテクチャをおさらいしておきましょう。
最初の投稿の図をちょっと省略して書き直したものです。青いブロックがビヘィビア(ふるまい)のプログラムモジュールで、包摂関係により、図のような優先順位がついています。
バンダイのサブサンプションの実装はこのようになっています。これは先の図と同じ内容をプログラムしたものです。
最初の図と大きく異なるのは、真ん中のプログラムモジュールです。「障害物回避」というまとまったビヘィビアではなく、「右センサ反応なら少し右旋回」といった単純な反射行動になっています。もう少しよく見てみると、「少し右旋回」「少し左旋回」「バックして旋回」の3つの反射行動の組み合わせで「障害物回避」というビヘィビアを実現していることがわかります。同様に、「時間が来たらランダムに旋回」と「どの反射もないときは前進」で「うろうろ」ビヘィビアを構成しています。
バンダイのサブサンプション・エンジンは「簡単にプログラムできる」ことを主眼点に置いているので、このようにしているようです。この方式なら、あらかじめ各個のビヘィビアの仕様を決めなくとも、プラクティカルに比較的複雑なビヘィビア(例のように複数のビヘィビアを包摂したもの)を構築できます。
ただ、ブルックスによると、十分にテストしたビヘィビアを包摂することで、新たなビヘィビアを比較的簡単に追加し、システムを成長させられるのが、サブサンプション・アーキテクチャの利点の一つなのですが、バンダイ流の実装だと、それは出来ません。小規模のロボットシステムの構築に限られるのではないかと思います。
バンダイのサブサンプション・エンジンには、もう一つの特徴があります。これは次回説明したいと思います。
« サブサンプション・エンジンを作る(その2) | トップページ | サブサンプション・エンジンを作る(その4) »
「花岡ちゃんのウィークエンド」カテゴリの記事
- レーザー距離センサVL53L0Xを複数使うには(2022.05.01)
- 【訂正!】PIC24Fでレーザー距離センサVL53L0Xを使う(2022.04.13)
- PIC24Fでレーザー距離センサVL53L0Xを使う(おしまい)(2022.04.14)
- PIC24Fでレーザー距離センサVL53L0Xを使う(その3)(2022.04.13)
- PIC24Fでレーザー距離センサVL53L0Xを使う(その2)(2022.04.12)
コメント