WonderWeek第2弾
WonderSwan用ロボットシステム「WonderBorg」
プログラムでロボット自由自在! [ソフト編]
WonderBorg用行動プログラムソフト「ロボットワークス」 |
前回のWonderSwan用ロボットシステム「WonderBorg」ハードウェア編に続き、今回は行動をプログラムする付属カセット「ロボットワークス」を取り上げる。
手元のコントローラから赤外線を送信してロボット操るということで、やはり一番最初に想像するのは「ゆけ! 鉄人28号!!」ってフレーズも懐かしい……というかまだ生まれてない頃の話ですが、このWonderBorgもリアルタイムにロボットを操作できるのだろうとか思いこんでしまいがちだが、実は違います (イヤ、プログラムによってはある程度、可能なのだが) 。
基本的にはWonderBorg行動プログラムツール「ロボットワークス」でWonderBorgの行動をプログラムし、赤外線で本体に送信。本体は受信したプログラムの通りに動くわけだ。ちなみにWonderBorgのパッケージには「3台買って『サイレントランニング』ごっこをする事を密かに決心」とか書かれていて、これはこれでマニアックな話だ。わからない子供はパパに聞いてね? とか書きたいところだが、この記事を読んでいるのは実は大きなお友達だろうと予測するので、わからない人はいないだろう。いや、別に知らなくてもイイんですけど。
WonderBorgのプログラムは基本的にブロックを並べることで行なう。
まず最初に“何が”にあたるセンサーブロックを設定しなければならない。例えば、“仲間に呼ばれた(仲間フェロモンを受信)”など、行動を発動させる“条件”にあたるブロックを設定することになる。次に、このセンサーが反応した時点でどういった行動をとらせるかを指定するコマンドブロックをセンサーブロックに対して“つなげ”ていく。プログラムの流れは左から右に流れ、右端のブロックまで達すると行動を終了する。このため、基本的には1つのセンサーに対して割り振ることのできる行動は、コマンドブロックをつなげることのできる上限である“8つ”までとなる (後述するが別の“パネル”にジャンプすることでより多彩な行動もプログラムできる) 。
WonderBorgは、反応したセンサーに対応した“行”のプログラムを実行していくわけだが、複数のセンサーが同時に反応してしまった場合はどうなるのか? 例えば、上の“行”では“仲間に呼ばれた”というセンサーブロックを設定し、下の“行”では“前に何かある”と設定したとしよう。もし同時にセンサーが発動すると、WonderBorgは上の行のセンサーブロックを優先、つまり仲間に呼ばれたときに行動するプログラムを実行することになる。
基本的には上記のようにセンサーに対応した行動ブロックを単純につなげていくだけでいい。だが、さらに複雑な行動をプログラムできる仕組みも用意されている。それが「パネル」と「わりこみ」だ。
「パネル」はExcelのセルと似たようなシステムだ。プログラムは1画面 (ロボットワークスではこれをパネルと呼ぶ) で完結してしまうが、コマンドブロックの中に用意されている“パネルきりかえ”コマンドを設定すると別画面 (パネル) にジャンプすることができるのだ。あるセンサーが反応したとき通常ならば8つの行動しか設定できないが、このパネルきりかえコマンドを設定すれば、ジャンプ先のパネルで新たなセンサーの判別条件を設定できたりコマンドを設定できるというわけだ。
もう一つは「わりこみ」だ。実はこのWonderBorg、センサーに反応してコマンドを実行している間は、センサーが働かないのである (コマンド終了後にセンサーブロックが反応) 。だが、この“わりこみ”をコマンドブロックに設定すると、設定したコマンドブロックを実行中か、すべてのコマンドブロックの実行を終了した時点で、ほかのセンサーブロックに反応するようになる。
これらをうまく使えばループするようなプログラムも作成可能となる。
こうやってコツコツ組んだプログラムはファイルとして15本までロボットワークスのカセット本体にセーブすることができる。
パネル1画面 | パネル2画面 | セーブ画面 |
プログラム画面。プログラムの基本は、センサーに行動を対応させていくことになる。プログラムの基本は左から右で、上に行くほどセンサーの優先順位が高い。パネル (Excelのセルのようなもの) を切り替えることでより複雑な行動を作り上げることもできる。写真ではパネル1からパネル2、3、4にジャンプするようにプログラムしている | プログラムは15本までセーブできる |
【 センサーブロック 】 | ||
---|---|---|
センサーブロック | 使用センサー | 働き |
前になにかある | 赤外線センサー | 本体前面に2つあるLEDから発した赤外線の反射光を赤外線受光部で受信する |
右前になにかある | ||
左前になにかある | ||
両方の触角ON | 触角センサー | 前面に位置する触角にものが触れるとONになる |
右の触角ON | ||
左の触角ON | ||
フロアセンサーON | フロアセンサー | 前面下部にあるLEDから発信された赤外線の反射光を赤外線受光部で受信。床面が白いとONで、黒か何もない場合OFF。 |
フロアセンサーOFF | ||
暗い | 明るさセンサー | 本体中央部にある明るさセンサーにて判別。それぞれ明るい、暗いと判断するとONとなる |
明るい | ||
前に仲間がいる | 光フェロモンセンサー | 頭部の中央にあるLEDから発信、赤外線受光部から受信。「ロボットワークス」カートリッジから光フェロモンを発信することも可能 |
仲間に呼ばれた | ||
仲間におどろかされた | ||
えさを見つけた | ||
花を見つけた | ||
光フェロモン・1 | ||
光フェロモン・2 | ||
光フェロモン・3 | ||
10秒すぎた | 体内時計センサー | プログラムのスタートから、またはパネルの切り替えから設定した時間でON。ただし、鳴き声を上げているときや光フェロモンを発信している間は時間はカウントされない |
20秒すぎた | ||
30秒すぎた | ||
60秒すぎた | ||
オプションON | オプションセンサー | 本体の電源裏にあるオプションコネクタ用のセンサースイッチ |
オプションOFF |
【 コマンドブロック 】 | ||
---|---|---|
コマンドブロック | 動作 | わりこみ |
ストップ | 停止する | ○ |
前進 | 前進する | ○ |
バック | 後退する | ○ |
右回転 | 左右の脚を反対方向に動かし、その場で右回転 | ○ |
左回転 | 左右の脚を反対方向に動かし、その場で左回転 | ○ |
右カーブ | 左の脚のみを動かし右にカーブ | ○ |
左カーブ | 右の脚のみを動かし左にカーブ | ○ |
右後ろカーブ | 左の脚のみをバックに動かし右後ろにカーブ | ○ |
左後ろカーブ | 右の脚のみをバックに動かし左後ろにカーブ | ○ |
右か左に回転 | 右か左に回転(ランダム) | ○ |
鳴き声 | 鳴き声を発する。4種類の声の中から声を指定 | × |
トーン | 鳴き声を発する。ドレミファソラシドの中から音を指定 | × |
仲間を呼ぶ | 鳴きながら仲間を呼ぶ光フェロモンを発信 | × |
仲間をおどろかす | 鳴きながら仲間をおどろかす光フェロモンを発信 | × |
ダンス | 鳴きながらダンスするように左右に回転する | × |
オプションON | オプションコネクタに接続した機器をONにする | ○ |
パネルきりかえ | 他のパネルにジャンプさせる。1~8まで用意されている | × |
センサーブロック設定画面 | コマンドブロック設定画面 |
プログラム画面の一番左にある“列”がセンサーブロック設定。そこにカーソルを合わせクリックすると選択画面(左写真)になる。その右側にあるのがコマンドブロック。ここにカーソルを合わせてクリックすると右写真の選択画面が現われる。センサーに反応してなにをさせるかを設定する |
ロボットワークスではプログラムのほかにWonderBorgのセンサーなどのセットアップを行なうセットアップモードや、本体が正常に動作するかどうか確認できるテストモードが用意されている。
セットアップモードでは以下の設定が可能。
一通り設定が終了しAボタンを押すと設定が本体に送信される。仕方ないことなのかもしれないが、一つだけ残念なのは本体が現在どのような設定になっているかわからないことだ。光フェロモンを発信することができるのだから本体データを発信、WonderSwanで受信できるようにならないだろうか?
テストモードでは、コマンドブロックをWonderBorg本体に発信。正常に動くかどうかをテストするもの。ただし気を付けなければならないのは、テストモードを実行するとWonderBorgに送信していたプログラムがすべて消えてしまう。テスト後に実行したいプログラムを再度、送信しなければならない。
「WonderBorg」のセンサーなどの設定画面。ここでセンサー感度を設定し、WonderBorgに送信する | WonderBorgが正常に動作するかのテストモード |
また、上記以外にも2つのオマケが収録されている。
ひとつはプログラムの練習をするための「トレーニングモード」。MAPリストから課題を選択し、課題に沿ったプログラムを作成。本来ならここで本体にプログラムを送信するのだが、トレーニングモードではプログラムを実行するとプログラムをシミュレートし画面上で実行してくれる。成功すればクリア時間が記録される。再度挑戦し、クリア時間を短縮できれば、ニューレコードとして新たなクリア時間が記録される。マップは全部で15面。あくまでもトレーニングなので妥当な面数かもしれないが、パズル的な楽しみ方もできるので、もうすこし面数が欲しいような気もする。あと、このシミュレーションモードはフリーでも用意して欲しい。たとえば電車の中でプログラムを組んでも、帰宅して本体に信号を送信しなければ動作が確認できない。シミュレートモードを搭載してくれれば、ある程度の確認ができるわけだ。次期バージョンでは検討してくれないだろうか?
もう一つのオマケ「ペットモード」は、専用のプログラムを本体に送信すると現在のWonderBorgの機嫌が表示される。ここで、WonderSwanから“ほめる”、“しかる”、“花を見せる”、“えさをあげる”、“おどかす”、“呼ぶ”といったコマンドを実行することで機嫌をとったりするわけだ。ただし、機嫌のデータは他のプログラムを受信したり、電源を切ったりした時点で消えてしまう。ちょっとした暇つぶしだろうか。
ずいぶん長々と紹介してきた。ホビー色の強い製品だし、自分で色々と楽しみ方を工夫しなければ、もしかしたらすぐに飽きてしまうのかもしれない。ただ最初にも書いたが、単なるゲームマシンだったWonderSwanに少し違った楽しみ方を提供してくれた点で、評価できる周辺機器ではないだろうか。ゲーム機はゲームだけ遊べればいいのではなく、“さわって楽しい”というバーチャルではない、ちょっぴり新しい扉を開けてくれた注目の商品としてぜひ遊んでみて欲しい。
□バンダイのホームページ
http://www.bandai.co.jp/
□WonderSwanのホームページ
http://www.swan.channel.or.jp/
□WonderBorgのホームページ
http://www.lalabit.com/borg/
(2000年8月10日)
[Text by funatsu@impress.co.jp]