AI coordinator

人工知能 & ロボティクス

サイト運営者

© AI coordinator All rights reserved.

20172/23

天気APIを使用したPepperサンプルプロジェクトの紹介

Pepperで天気APIを使用してみた

Pepper入門用として、天気APIを使用したPepperアプリを作成しました。

興味がある方は、以下からプロジェクトファイルをダウンロードして使ってみてください。

ダウンロードはこちら

 

仕様の説明

バーチャルペッパーでも、Pepper実機でも動作確認しています。

実装にあたっては特に難しいことはしていません。

 

有した機能は以下の3つです。

  1. ペッパーが人の声を聴きとれるように、JSONファイルで都道府県と市区町村を読み込ませます。
  2. livedoorお天気情報APIから、お天気情報を取得できるようにしています。
  3. 音声入力がないと終了します。

以上です。

 

都道府県と市区町村のJSONファイルは、東京・神奈川県・茨城県のみ作成しました。

他の都道府県の追加はご自由にどうぞ。

 

livedoorのAPI仕様は以下を参考にしてください。

お天気Webサービス仕様

 

プロジェクトファイルの説明

簡単にどんなフローなのか説明します。

weatherボックスの仕様

上記のフローは以下の順で処理します。

  1. 「ファイル読込」ボックスからJSONファイルを読み込み、各都道府県と市区町村とAPIに投入する地区コードを取得します。
  2. 「天気地域取得」ボックスでJSONファイルの都道府県と市区町村データを分離し、それぞれを次の「県取得」ボックスと「市取得」ボックスに受け渡します。

都道府県と市区町村データを分離する理由は、Pepperが音声で都道府県を聞き取った後に、その都道府県に該当する市区町村を聞き取れるようにするためです。

 

県取得ボックスの仕様

上記フローの仕組みを紹介します。

  1. Speech Recoボックスに先ほど分離した都道府県を入力し、Pepperが音声を聞き取れるようにします。
  2. SayボックスではPepperが「どの県の天気ですか?」と質問するように設計しています。
  3. Waitボックスでは、音声が一定時間取得できないような場合を想定して作成しており、音声入力が取得できない場合には、Say(1)ボックスで「返事がない。ただのしかばねのようだ。」とPepperにしゃべらせて、処理を終了するようにしています。

 

市取得ボックスの仕様

上記フローは少し複雑そうに見えますが、大したことしていません。

  1. 1次細分区名ボックスでは、前項の県取得ボックスで聞き取った都道府県に該当する市区町村をJoinボックスに受け渡し、次のSpeech Reco.(1)で受け渡してもらった市区町村を聞き取れるようにします。
  2. セリフ作成ボックスと次のAnimeated Say Textボックスで、市区町村を含めた質問を投げかけるように実装しています。(下の図の赤線部分)
  3. 市区町村を聞き取ったら、いよいよWeatherボックスに制御が渡り、天気APIから天気情報を取得します。(以下サンプルソース)

 

最後はダイアログで締めくくる

一通りの処理を終えPepperが天気情報を答えたら、その後はダイアログにて処理を継続するのか終了するのか質問するように設計しています。

 

ダイアログは以下のように作成しています。

会話の分岐を作成する上で、ダイアログは大変便利ですね。

 

以上で処理の大まかな説明は終わりです。

 

Pepper単体でのフローになれたら、APIを使ってみましょう

デフォルトで準備してあるボックスライブラリだけでは、かなり限定的なアプリしか作成できません。

しかしながら、外部サービスのAPIと連携することでPepperは飛躍的にできること増えます。

 

Pepperの動かしかたになれたら、是非APIを活用したアプリの作成にチャレンジしてみてください。

設計の幅を大きく広げることができるようになりますよ。

 

それではまた。

 


その他のPepperアプリ記事はこちらから

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

20176/5

Pepper SDK pynaoqi-python2.7-2.5.5.5-mac64 パスの通し方 for MAC

Pepper SDK 2.5.5.5 コレグラフの新しいバージョン2.5.5.5に対応したpython SDKのパスの通し方に付いて説明し…

DeepLearningを活用した物体検出(SSD_Keras)を可能とするPepper

SSD_KerasをPepperにも 以前紹介したSSD_Kerasによる物体検出を、いつかPepperにも搭載できたら良いなぁなんて思っ…

Watsonと連携したPepper:Visual Recognitionで画像が分析できるPepper開発

PepperでWatson API「Visual Recognition」を使ってみよう Pepperに搭載してあるカメラから、今映し出し…

20172/16

Pepperを勉強したいならアトリエ秋葉原に行ってみよう

はじめに Pepperの発売が始まってから2年ぐらいが経過しますが、未だにPepperに触ったことのない方も多いのではないかと思います。 …

20175/22

アトリエ秋葉原リニューアルオープン

アトリエ秋葉原がリニューアルオープン 2017年5月20日にアトリエ秋葉原の改装工事が終了し、リニューアルオープンイベントが開催されました…

Watson APIを活用した英訳するPepperコントローラー

Python GUIを使ってWatson APIを使用したペッパー用コントローラーの作成方法 Watson APIの「LanguageTr…

Watson APIを使った翻訳できるPepperサンプル

Watson API(Language Translator)を使ったPepper PepperとBluemix Watsonを使った簡単…

20173/5

Pepper用Python 2.7 SDK(WIN)セットアップ方法

コレグラフを使用しなくてもPepperを動かせるPython 2.7 SDKセットアップ方法 Windows編 前回に続き、今回はWind…

Watsonと連携したPepper:話しかけた言葉を英訳してくれるPepper

Watson APIの「Language Translator」をPepperで使ってみよう 話しかけた言葉をそのまま英訳してくれるPep…

Watsonと連携したPepper:Speech to Textで音声認識精度を上げてみよう

Watson Speech to Text & pepper Pepper単体でも音声認識機能は持っていますが、如何せん認識精度が悪いのは…

ページ上部へ戻る