サブサンプション・エンジンを作る(その2)
花岡ちゃんのウィークエンド:サブサンプション・エンジン
以前、バンダイが販売していたおもちゃのロボットには、サブサンプション・エンジンが搭載されていました。これはそういうロボットの一つで、2001年発売のBN-1というペット型ロボットです。
電源が切れていると、ちょっと不気味な感じですが、動き出すとなかなかカワイイ動きをします。これは「脚車輪」構造で、前足にモーターで駆動される車輪がついています。後ろ足は従輪です。このロボットには「ペットプログラム」がROM化されて実装されているのですが、別売の「プログラミング・キット」を使うと、自分でプログラムすることが出来ます。
キットの内容はこんなところです。黒い箱がBN-1と赤外線通信するためのインターフェイスで、パソコンのシリアルポートに接続します。CDにはプログラミング環境「A.I.トレーナー」が収められています。
こんな風に、BN-1とインターフェイスを向かい合わせてプログラムを転送します。プログラム画面はこんな感じです。
バンダイでは「c言語などの知識がない人でも、自律ロボットを簡単にプログラムできる」ツールとして、サブサンプション・エンジンを使っています。3つのウィンドウが開いていますが、一番大きなウィンドウがプログラムを書き込む部分です。色々なセンサが反応した際のロボットの行動を定義することで、ロボットのビヘィビア(ふるまい)を創り出していきます。例えば、この画面では、「障害物をよけながら動き続ける」ビヘィビアをプログラムしています。実行結果が下の動画です。
左右の耳に内蔵された赤外線センサで、障害物を感知してうまい具合に動き回ります。感度が良すぎるのか、少し狭くなっているところでは、オロオロしているようですね。昆虫の制御アルゴリズムという先入観のせいか、どこか昆虫の動きのように見えます。13年も前のロボットで、動かしたのも5〜6年ぶりという状況ですが、Windows7でちゃんと動いたのは感激です。ただバッテリーは十分くらいしか保ちませんが。
次回はこのバンダイ流のサブサンプション・エンジンを、もう少し解析してみます。
« サブサンプション・エンジンを作る(その1) | トップページ | サブサンプション・エンジンを作る(その3) »
「花岡ちゃんのウィークエンド」カテゴリの記事
- レーザー距離センサ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)
コメント