i-SOBOTは、専用の付属コントローラからの赤外線でコントロールされています。これを専用コントローラでなく、赤外線対応の携帯電話からコントロールしよう、というのが今回のテーマです。べつに携帯電話の電波を介してどうこうしようというわけでなく、単に赤外線コードを発信するだけなので、それほど難しいことではありません。

実は、現在、赤外線機能を使ったケータイ用アプリを、一般ユーザーが自由に作れるのはNTTドコモくらいなので、i-SOBOT用のケータイ用アプリを作るなら、必然的に「iアプリ」を作るということになります。実際に動いているところを見ていただくのが一番早いと思うので、今回はi-SOBOTとケータイの組み合わせで、どんなことができるかをご紹介します。

ケータイでHello World

これは、簡単にプログラミングの練習として作ったアプリ。携帯電話の決定ボタンを押すことで、i-SOBOTに「こんにちは!」と挨拶させるプログラムです。ゲームプログラミングでは、「Hello World!」と文字出力することから始めるのが慣わしなので、ロボットプログラミングも最初は挨拶するところから始めるのがいいでしょう。具体的な作り方は、次回ご紹介します。

ロボットなら「Hello World!」もアクション付き

同時にケータイ側には「Hello World!」と表示される

動画
ケータイでHello World

iアプリ版「i-SOBOTリモコン」

iアプリ版「i-SOBOTリモコン」――つまり、専用コントローラの機能をそっくりそのまま携帯電話に移植するのが、最もわかりやすいトイプログラミングでしょう。i-SOBOTを持ち歩きたいときに純正コントローラー分、ちょっと荷物が軽くなるのがうれしい実用的アプリです。

下の画面が、実際に携帯電話の画面に表示されるインタフェースで、上下左右の矢印は見たとおり進む方向を示すもの。「1」か「3」キーを押していくと画面上部に現在選択されているアクション名が表示され、「2」キーで決定するとそのアクションをi-SOBOTが実行します。

NTTドコモのケータイから自由に操作

i-SOBOTリモコンのインタフェース

動画
iアプリ版「i-SOBOTリモコン」で「前進」させているところ。日常系アクションやスペシャルアクションも発動できる

「あっち向いてホイ」アプリ

i-SOBOTのアクションを活かしたゲームアプリを作るのも面白いものです。この例は、i-SOBOTと対戦するシンプルな「あっち向いてホイ」ゲーム。

ゲームを開始すると「アッチムイテ」と言われるので、左キーまたは右キーを押しましょう。すると「ホイ」という掛け声と同時に、i-SOBOTは頭を左右どちらかに向けます。押したキーの向きとi-SOBOTの頭の向きが同じときはプレイヤーの1勝、違うときはi-SOBOTの1勝となります。そして先に3勝したほうが、ゲームの勝者となるという流れです。i-SOBOTがゲームの勝者となったときは、i-SOBOTは喜びのアクションを行い、敗者となったときは残念のアクションを行います。

「あっち向いてホイ」アプリ

そのタイトル画面

動画
3勝2敗で人間の勝ち! i-SOBOTは「がっかりです」とうなだれる

オリジナルアプリ作成のポイント

そのほか、工夫次第でいろいろなゲームが考えられます。たとえば、携帯ゲームの中でのストーリー分岐に応じてi-SOBOTが喜んだり悲しんだりするようにしてみてはいかがでしょう。一緒にゲームを遊んでる感覚を味わえるかもしれません。ほかにも、携帯を振ったり傾けたりして操作するモーションセンサ(ただし機種依存APIです)を使ってi-SOBOTを制御したり、QRコードなどカメラで撮影したものに応じてアクションするようなアプリを作ってみるのも面白いと思います。

オリジナルのiアプリ作りにも挑戦してみよう

開発環境を整える

では、これらのアプリはどうやって作るのでしょうか。今回は開発ツールの準備まで解説します。

対象とする端末はNTTドコモの携帯電話(機種名は後述)です。これらの端末はテレビリモコンとして利用できる赤外線リモコン機能を持っていて、一般ユーザーでも自由にその機能を利用したアプリケーションを作成できます。NTTドコモの携帯端末で実行可能なアプリケーション「iアプリ」の情報と開発ツールは、NTTドコモのサイトで公開されていて、無償で入手できます。作ったアプリは検証機関のチェックなしに自由に公開して利用することができます。

ちなみにソフトバンクのJavaアプリは公開には専門機関による検証にパスする必要があり、赤外線リモコンを制御できる端末も限られます。auのJavaアプリは赤外線リモコンを制御できる機能はありません。個人で携帯アプリを作るのであれば、現時点ではNTTドコモが一番適していると言えるでしょう。

では、開発環境を準備しましょう。ハードウェアとソフトウェアの用意が必要ですが、i-SOBOTと対応携帯電話さえあれば、後はお金はかかりません。以下に、ざっと紹介しますので、そろえてみてください。

i-SOBOT
制御対象となる二足歩行ロボットです。

NTTドコモの携帯電話
NTTドコモの携帯電話、905i / 904i / 903i / 902i / 901i / 705i / 704i / 703i / 702i / 701iシリーズのいずれかを用意してください。エミュレータではi-SOBOTを操作することはできません。

Windows搭載PC
Windows XP SP2以降またはVistaがインストールされたPCを用意してください。以下のスペック以上であれば、本特集全体をとおして、問題なく実行できます。CPU 1.6GHz以上、メモリ384MB以上(Vistaは768MB以上)、HDDの空き容量2.7GB以上。

Java2 SDK, Standard Edition 1.4
パソコン上で動くJavaアプリケーションを作るための開発キットです。Sun Microsystems社が提供しています。次に紹介する「iαppli Development Kit」の実行に必要です。

iαppli Development Kit for DoJa-5.1
iアプリを作るためのNTTドコモ純正の開発キットです。DoJa-5.1用の開発ツールですが、それ以前のバージョンのアプリの作成も可能です。DoJaとはiアプリのAPI仕様のことで、バージョンが上がるごとに新機能が追加されています。

CLDC API Documentation
CLDC 1.1が最新版ですが、違いはわずかなので日本語版の「CLDC 1.0.4のJapanese」を利用したほうがいいでしょう。

i-SOBOT Control Library(ISCL) for DoJa
トグサ秋月氏制作のiアプリから赤外線経由でi-SOBOTを操作するライブラリです。

次回は、i-SOBOTとケータイの組み合わせのプログラミング方法を具体的に解説します。乞うご期待。

なお、詳しい方法やプログラム等は6月14日発売の「PLUS ROBOT vol.1」で述べています。