DMM.comラボエンジニアブログ

DMM.comラボのエンジニアブログです。DMM.comを支える技術について書いています。

DMM insideに引っ越しました。 移転先はこちら -> https://inside.dmm.com/

Palmiアプリケーション開発のすすめ

最初に

こんにちは、DMM.comLaboで「ロボット」を担当している新人のユウロです(・◡・ )
普段は開発を中心に運営や広報のお手伝いもしています。
今回は、DMM.make ROBOTSで販売している「Palmi」のアプリケーション開発について説明します。
ロボットは無限の可能性を秘めた市場なのでぜひ見ていってください!

Palmiって?

f:id:dmmlabotech:20151209183324p:plain            
Palmiは人と高度なコミュニケーションが取れる、多彩な機能を備えたロボットです。
更にPalmiにはアプリケーションの開発環境が用意されているため、自由にアプリ開発を行うことができます。
作成するアプリケーションのことをPalmiでは「たね」と呼びますのでここからは「たね」という言葉を使用します。

「たね」の開発環境、アプリストアマーケット

「たね」の開発環境はVisual Studioのプラグインとして提供されています。機能にアクセスするためのAPIが用意されていますので、簡単に「たね」を作成することができます。
以下より無償で開発者登録をすることができます。

http://robots.dmm.com/index_developer.html

また、DMM.make ROBOTSでは「たね」をユーザに有償/無償で販売できるアプリストアマーケットをオープンしますので、ユーザに作成した「たね」を公開することも可能です。

Palmiのプログラム

基本編

このHello.cppは人の顔を見たら「こんにちは」、人の顔が見えなくなったら「ばいばい」というプログラムですが富士ソフト株式会社様が提供されているAPIの利用により非常にシンプルな形になります。

 [Hello.cpp]
/* アプリケーションの実行開始時に呼び出されます。*/
void SpcSample5::onInitialize()
{
}

/*
* @brief 顔認識イベント
* Palmiが顔を見つけた場合に呼び出されます。
*/
void SpcSample5::onFaceCatch(std::string name)
{
	speak("こんにちは");
}


/*
* @brief 顔認識イベント
* Palmiが顔を見失った場合に呼び出されます。
*/
void SpcSample5::onFaceDrop()
{
	speak("さようなら");
}


/*
* @brief POTセンサーイベント
* Palmiの頭部をさわった時に呼び出されます。
*/
void SpcSample5::onPOTFluctuationCatch()
{
}

 onFaceCatchは人の顔が検出された際に, onFaceDropは人の顔が見えなくなった際にコールされるAPI, になり、それぞれがコールされた際に発話するためのspeak()を利用し喋らせています。
この認識から発話までの本来複雑なロジックをこのように簡単に実現することが可能なのです。

応用編

Palmiはネットワークへのアクセスが可能なので、それを利用し実際に作成されたブライダル用受付アプリをご紹介します。
Palmiの前に来賓がいらしたら挨拶とともに新郎新婦からのメッセージを伝え、代わりに来賓のボイスメッセージと写真を新郎新婦へ渡すといった、新しいコミュニケーションを提供する「たね」です。
f:id:dmmlabotech:20151203155533p:plain

これは実際に株式会社空飛ぶペンギン社様が結婚式で利用した「たね」になります。
ネットワーク接続を利用するとサーバー側で処理を行い、Palmiにそれを返すということが可能になりますので、様々な機器との連携やサービスへの接続が可能となり「たね」をより魅力的なものに仕上げることができます。

「たね」を開発してみて感じたこと

ロボットは新しいユーザーインターフェースであり、人との関わり方が家電やスマートフォンと違います。
開発を行っていく中で、「これはスマフォでできるのでは?」とふと考えることがありますが

   ☆ 高度なコミュニケーションを取ることができる
   ☆ 人の顔の認識や会話がスムーズに利用できる
   ☆ 見た目が可愛く、愛嬌やキャラクター性がある
   ☆ 人型なのでユーザとの関係性がこれまでのデバイスと異なる

といった理由から今までにないユーザビリティを発揮します。
今急速に市場が広がっているロボットですが、特にPalmiにはこういった独自の魅力が存在し、
新たなユーザーインターフェースとして家庭や企業に広がっていくのでは、と日々感じています。

結論と広告

Palmiは面白く無限の可能性があるので、是非開発してみてください!

http://robots.dmm.com/index_developer.html
DMM.make ROBOTSの様々な情報を発信しているTwitter,Facebook公式アカウントです。是非チェックしてみてください。

Twitter
ID:@DMM_ROBOTS
https://twitter.com/DMM_ROBOTS

Facebook
https://www.facebook.com/dmm.make.robots/