ABC 2012 Springで発表しました
ABC 2012 Springのカンファレンスのロボットサミット発表の様子が、日本Androidの会公式チャンネルに公開されました。ロボットサミットのビデオはこちらです。
ビデオを見るのもありですが、発表の内容をここでも紹介したいと思います。
スクリプトでお手軽ロボットプログラム
タイトルです。発表時間が8分だったので発表内容は概略の紹介でした。神戸支部所属の山本です。「コンピュータを楽しもう!」というブログを描いています。でスタートしました。
神戸支部ハードウェア倶楽部
神戸支部ハードウエア倶楽部では、隔月偶数月にAndroidとマイコンの接続をテーマに、日本橋でんでんタウンでもくもく勉強会を行っています。PIC ADK Minoboardなどのはんだ付け会もやっています。関西以外の方も結構参加されて楽しくやっております。近々は4月7日(土)13:00〜開催します。
Androidアプリって結構たいへん
Androidとマイコン基板などのハードウェアを接続しても、Android側でプログラムを作らないとマイコンを操作することができないのですが、Androidのアプリを作るのは結構敷居が高いのです。パソコンを用意して、EclipseをいれてAndroid-SDKをインストールして・・・、環境を作るのもたいへんです。おまけに、Androidのバージョンも色々あるし、何とかならないの?という話になると(私は)思います。
Luaスクリプトの紹介
そこで、Androidで楽にプログラムが開発できるように、Luaというスクリプト言語をAndroidに実装しました。Luaの特徴は下の資料に書いている通りです。AndroidでLuaが使えるLuaridaですが、その特徴は、Android単体でプログラムができることと、スクリプトなので特別な環境も必要なく、エディタがあればプログラムが組めることです。それ以外にも、Androidの機能を簡単に使うことができるように、いろいろなコマンドが用意されています。Androidで走るスクリプトは他にも有りますが、何たってLuaridaは作者が日本人のため、質問や要望が日本語でOKです(^^;。
ロボットを作りました
Luaridaを使ってAndroidに接続したマイコンを簡単に制御できるような仕組みを考えてみました。LuaridaとマイコンをMicroBridgeを使って接続し、制御するロボットを作ってみました。ロボットは大人の科学付録の「卓上ロボット掃除機」を改造させていただきました。今回は古いAndroid(HT-03A)と接続させたかったので、MicroBridgeを使いましたが、今後、ADK対応のLuaスクリプトアプリを作成・公開したいと思っています。
スクリプトのいいところ
ロボットを作ってLuaスクリプトで制御しただけでは、つまらないと思ったので、スクリプトのいいとろこを生かした仕組みを作ってみました。今回作成したロボット制御スクリプトは、プログラムそのものをインターネット上のクラウドにアップしておいて、ロボットが起動したときに自分が動作すべきプログラムを自らネット上のサーバに取りに行くようにしてみました。スクリプトがテキストファイルなので、こんなことが簡単にできます。こうすれば、プログラムもパソコンのエディタで作ることができて便利です。
この仕組みを実現しているプログラムのソースはGitHubに上げています(AndroidRobotLoader、PIC-Microbridge-Cleaner)。
Luaスクリプトの中身
Luaridaにはいろいろなコマンドが用意されています。例えば、httpプロトコルでデータをとりたい場合は、http.get()1文で簡単に取ってこれます。また、MicroBridgeでマイコンと通信したい場合でも、sock.nlistenOpen()でポートを繋いで、sock.nsend()で簡単に通信できます。さらに、LuaridaにはAndroidに搭載されているセンサの値を簡単に取得できるコマンドも用意しています。例えば、方位を取りたいときは、angle = sensor.getOrient()とするだけで角度が取得できます。
詳しいコマンドは、ブログの[Luaridaのコマンド説明]を見てください。これはコマンドの使い方説明ですが、DS Lua@wikiさんのサイトには、逆引きサンプル集があります。こちらの方が分かりやすいと思います。
今回のロボット操作用に作成したスクリプトは全てGitHubに公開しています(公開はここです)。
スクリプトの公開方法
ロボットの話から外れますがスクリプト公開方法についての話です。ロボット制御用のスクリプトを作成して個人で楽しむことはできますが、スクリプトを公開して他の人に使ってもらうことがなかなか難しいです。例えば、いいソフトができてもスクリプトをGooglePlayに公開することは出来ません。LuaridaはTAOSOFTWAREさんのサイトDorokuriで、Luaridaスクリプトを公開することができます。無料でスクリプトをdoroLuaridaにアップロードするとapkに変換でき、自作スクリプトが誰のAndroidにもインストールできる形になります。また、有料ですが1,000円でGooglePlayにアップロードできるapkも作成してくれます。
以上が、ABC 2012 Springのカンファレンスでの発表内容です。