Palmiのデモアプリを作ったので、その全てを公開します。

本日の発表に合わせて、デモアプリを開発しました。
その過程を簡単にご紹介します!

本日発表の通り、10月末からVisual Studio環境が公開されます。
ここでご紹介する開発手順は、”それまでに開発する場合の”手順です。
Visual Studio環境が使えることで、開発環境部分はIDE(Visual Studio)が代替してくれるはずです。
すぐに開発を始めたい場合は、Palmiデベロッパー登録の際にお伝えいただくと、現時点の開発環境を提供して頂けるそうですよ。

さて、Palmiアプリの開発は、Palmi Gardenから始まります。
このページからサンプル・開発手順・開発ツールのダウンロードなどが可能です。
公開されていないので、デベロッパー登録時に開発環境の申請が必要です。

Palmi Garden > デベロッパー > 特技を作ってみよう

002

なお、Palmiのアプリ開発には、Windows PC(Vista以降)が必要です。
また、C++でのコーディングと、Ubuntu Linuxをコマンドラインから触る必要があります。
このあたりは、IDE(Visual Studio)で代替できるようになると思います。

※念のため、VMware Playerはこちら(15/09/14時点の最新版は7.1.0)

環境ができたら、[アプリケーションの開発手順を詳しく知る]のPDFにならって、開発を進めます。
できること一覧は[SPC APIリファレンス]を見れば把握できます。

以下、今回作ったサンプルアプリを例に、順を追ってご説明します。

Ubuntuのイメージファイルは、Palmiとほぼ同じ環境だそうです。
/usr/local/src/spc内に、サンプルコードが沢山用意されているので、そちらも参考になります。

サンプルコードやAPI一覧などを見ながらコーディング

010

まず、タイムアウト時間やLEDファイルの指定をしているところ。

011

全体の流れを無限ループさせています。
この後、可愛い動きの指定や終了処理をしています。
モーション・LED・発声・会話を一通り使っていますが、ソース本体は100行程度です。
例えば会話なら、waitForAnswerという関数だけで、一通りの例外処理なども勝手に行ってくれます。
応答がなければ、「うーん、無視?じゃないですよね?」みたいな事(ランダムで複数あり)を勝手に言ってくれたりします。
Palmiの世界観を”真似て”例外処理を作り込む必要はありません。

ソースは丸ごとこちらからダウンロードできるので、ご興味のある方はダウンロードしてみてください!

Palmi Application Studioでコンフィグファイルを作成する

004

トリガーワード(この言葉を話しかけられたらアプリを起動する)などを設定します。

必要に応じて、プログラムから呼び出すモーションファイル・LEDファイルを作る

005

ポーズは以下の流れで作成します。

  1. 手足首の位置を座標で指定してポーズを作成
  2. ポーズをタイムライン上に配置してシーケンスを作成
  3. シーケンスを配置してシナリオを作成

006

LEDは、画面上で確認しながら作成できます。

ファイルをVMware Player上のUbuntuに転送して、コンパイル

008

最新のVMwareなら、ドラッグ&ドロップでいけるはず。

009

srcディレクトリでmakeします。
エラーが出たら、ソースを修正します。(ここが一番時間がかかる)

ファイルをWindowsに転送して、Palmi Application Studioでパッケージ

003

プログラムのパッケージ内容は、プログラムファイル(cpp)・コンフィグファイル(xml)・トリガーワードファイル(ukb)・LEDファイル(任意)・モーションファイル(任意)です。
これらをPalmi Application Studioの[インストール]画面からZIPファイルにパッケージします。

Palmi Application StudioからPalmiに転送

その下の[Palmiにインストール]ボタン一発でイントールは終了です。

今回は統合環境が無かったですが、環境公開後は、ワンストップで開発ができると思います。

ロビくんのように、アプリがなくても十分会話が成立しますし、スマートロボットとして、自分でアプリを作ったり、ストアからダウンロードすることもできます。つまりこれ、理想形じゃないですか?

なにより、Palmiの動きはかわいい!正義!

ABOUT THE AUTHOR / 

鹿田 貴史

携帯検索サイト立ち上げ、サーチテリア広告立ち上げ、トランスコスモスにてAskモバイル立ち上げ、アパンドールCTOを経て、現在ロボットスタート株式会社CTO。将来の夢はバスの運転士。

PR

連載・コラム