[Pepper] Pepperアプリケーション開発 ~写真を撮影してもらおう!~

前回は、Pepperにメールを送ってもらうアプリケーションを作成しました。
今回は、Pepperに写真を撮影してもらうアプリケーションを作成してみましょう。

写真をただ、撮影しただけではつまらないので、撮影した写真をタブレットに表示させてみます。
ただし、バーチャルロボットでは「写真撮影」および、「タブレット」サービスはサポート
していないので、ビルド時にエラーとなりますが、参考情報として是非、ご覧ください!

では、早速アプリケーションを作成してみましょう。

<Pepperに撮影してもらうアプリケーション>

【手順1】
 SDKを起動します。
 

【手順2】
 下記のボックスを中央の作業スペースに配置しておきます。
 ・Set Language(Audio->Voice内)
 ・Say(Audio->Voice内)

【手順3】
 Pepperが撮影するためのボックスを中央の作業スペースに配置します。

 ・Take Picture(Vision内)
  Pepperが見ている画像をPepper内のファイルシステムに保存することができます。
  ※実際には、下記に保存されます。
   /home/nao/recordings/cameras/配下

【手順4】
 以前に「タブレットを使ってみよう!」でもご紹介させていただきましたが、タブレットで
 画像を表示する場合は、htmlフォルダ配下に画像が格納されている必要があるので、保存先を変更します。
 
 「Take Picture」ボックスをダブルクリックし、下記のように修正します。

def onLoad(self):
        self.bIsRunning = False
        try:
            self.photoCapture = ALProxy( "ALPhotoCapture" )
            #------------------------------------------------
            #ALFrameManager へのアクセス用オブジェクトを生成する
            self.framemanager = ALProxy("ALFrameManager")
            #------------------------------------------------            
        except Exception as e:
            self.photoCapture = None
            self.logger.error(e)

    def onInput_onStart(self):
        if( self.bIsRunning ):
            return
        self.bIsRunning = True
        resolution = self.resolutionMap[self.getParameter("Resolution")]
        cameraID = self.cameraMap[self.getParameter("Camera")]
        fileName = self.getParameter("File Name")
        if self.photoCapture:
            self.photoCapture.setResolution(resolution)
            self.photoCapture.setCameraID(cameraID)
            self.photoCapture.setPictureFormat("jpg")
            #------------------------------------------------
            #保存先をhmlフォルダ内に変更する
            self.recordFolder = self.framemanager.getBehaviorPath(self.behaviorId), "../html")
            #------------------------------------------------
            self.photoCapture.takePicture( self.recordFolder, fileName )
        self.bIsRunning = False
        self.onStopped()

【手順5】
 タブレットに画像を表示するためのボックスを中央の作業スペースに配置します。

 ・Show Image(tablet内)
  タブレットに画像を表示します。

【手順6】
 タブレットに画像を表示する方法については、以前の記事でご紹介していますので、下記を参照してください。
「[Pepper] Pepperアプリケーション開発 ~タブレットを使ってみよう!~」
 
【手順7】
 ボックス同士を接続し、アプリケーションが完成しました。


 
お疲れ様でした。
バーチャルロボットではエラーとなり確認できませんが、Pepperに撮影してもらった
画像をタブレットに表示させる方法となります。

今回は、Pepperに撮影してもらった画像をタブレットに表示させるアプリケーションを
作成しましたが、撮影した画像をメールに添付して送信することもできます。

以上で、「写真を撮影してもらおう!」は終了となります。

最後までご覧いただき有難うございました。
次回も引き続きPepperアプリケーション開発に触れていく予定です。


弊社では全国各地の請負い(ご自宅)で作業協力頂ける、フリーランスエンジニアの方を常時探しております。
ご興味ある方は、お気軽にお問い合わせ下さい。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*