僕は発展途上技術者

iPhone がロボットになる Romo を Scratch でコントロールしてみました

Romo とは


Romo(ロモ)はiPhoneなどで動く「体感型のエデュケーショナルロボット」で、誰でも動かすことが可能です。iPhoneアプリが頭脳の役割になり、様々な感情や動きを表現することができます。楽しみながら子どもの論理的思考や想像力、思考力を育むことができ、遊びや学びの幅がさらにひろがる可能性を秘めています。


Romo のページ の動画をみれば、どんなことができるのかがわかります。

簡単に言ってしまえば、iPhone にキャタピラがくっつき自在に動き回れるようになる。iPhone のカメラが目になり、マイクは耳に、スピーカーは口に、画面は表情豊かな顔に。ガンタンクのようにキャタピラを付けてみたら、高性能なロボットになった、というコロンブス的な発想が面白い。

Romo の SDK を使えば、Romo を自在にコントロールするアプリを自分で作ることができます。Scratch(ブロック型の命令を組み合わせて簡単にプログラミングできる教育用プログラミング環境) から Romo を動かすために、Scratch からの命令を受け付けて Romo を動かすコントローラーとなるアプリを作ってみました。



Scratch と Romo が動く iPhone とをつなげるために、iPhone には Romo をコントロールできるようにした簡易 Web サーバーを立ち上げておき、PC 上では Scratch の命令をこの Web サーバーに対するアクセスに変換するブリッジプログラム Scratch2Romo を動かします。

構成はこんな感じです。



iPhone の IP アドレスを 10.0.0.2 とすると、http://10.0.0.2/forward というアドレスにアクセスすると Romo が前進します。PC 上では、遠隔センサー接続で接続した Scratch2Romo が Scratch から forward の命令を受け取ると http://10.0.0.2/forward に対してアクセスするという仕組みです。

Romo を正方形を描くように動かす Scratch のプログラムは以下になります。



以下が実際に動いているところです。



PC 上で動くブリッジプログラムと、iPhone 上で動かす Romo をコントロールする Web サーバーアプリのソースコードを GitHub 上に置いておきます。

» https://github.com/champierre/scratch2romo/

iPhone 上で動かすアプリは、Romo を動かすだけでなく、カメラのシャッターを切ったり、ライト代わりにフラッシュを点灯できるようにしています。機能を増やせばもっといろいろなことができそうなので、ドキュメントを順次用意していくとともにこれから改良していきたいと思います。

プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Raspberry Piではじめる どきどきプログラミングを書きました。

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Twitter @jishiha

最近のエントリー

アーカイブ