サブサンプション・エンジンを作る(その5)
花岡ちゃんのウィークエンド:サブサンプション・エンジン
デザインを始める前に、サブサンプション・アーキテクチャの「可能性」について考えておきましょう。つまり、どれくらいの能力のロボットを実現できるのかということです。
今まで見てきたサブサンプションの実装例は、まさに昆虫のように単純なビヘィビアばかりでした。解説がわかりやすいように、「障害物回避」「うろうろする」といった単純なビヘィビアを選んでいただけで、実際のところ、もっと高度なビヘィビアを使ってもかまわない訳です。
例えばこのような実装も考えられます。
これはマップ情報に基づいて、障害物や地形上通れないところを避けながら、目的地まで移動するロボットです。ちょっと見ると1回目の投稿で触れた、シェーキー式の外界モデルを使った移動ロボットと同じようですね。
「経路追従」というビヘィビアが、例えば「前へ1m進んで右に90°旋回、それから3mいくと目的地」というシーケンスを生成し、それを機械的に実行するなら、まさにその通りですが、ここでのビヘィビアは、「現在位置から目的地への経路を計算し、この経路に乗るようにモーターに制御信号を送る」というモノになっています。移動する空間に、目的地に至る見えない線を引き、その線をたどる「ライントレース」ビヘィビアだと考えるとわかりやすいでしょう。
このようなビヘィビアなら、優先度の高い「障害物回避」ビヘィビアが働いて位置が変わっても、目的地へのコースに再度乗ることが出来ます。つまり、マップにない障害物が現れても、簡単な実装で回避できる訳です。
サブサンプション的な実装というと、とかく簡単な反射行動が取り上げられ、あまり実用的でないように思われがちですが、このように高度なビヘィビアを包摂することで、実用的なロボット開発にも有効なアーキテクチャだと思います。
« サブサンプション・エンジンを作る(その4) | トップページ | サブサンプション・エンジンを作る(その6) »
「花岡ちゃんのウィークエンド」カテゴリの記事
- レーザー距離センサ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)
コメント