開発ブログ

第11回 発話中のパペロをボタンで一時停止させてみた

投稿日時:2019年2月7日 09:02

こんにちは。ピャペロンです!
今回は発話中のパペロをボタンで一時停止させてみよう。

あらかじめパペロシミュレーターを動かす環境を整えておこう。第2回 Windowsからパペロシミュレーターを動かしてみた

使用するソフト
・Windows 10
・テキストエディタ(Visual Studio Code
・Google Chrome
・Python 3.6.6 ※実機で動かす場合はPython 3.4で開発しないと動作しない可能性があります。


左ボタンで発話スタート
右ボタンで終了
中央ボタンで一時停止・再生
この動作を実現するプログラムを作ってみよう。

  1. from logging import basicConfig, DEBUG
  2. basicConfig(level=DEBUG)
  3. import sys
  4. import pypapero
  5. def send_event_message(msg): #イベントメッセージを処理
  6.     if msg[0]["Name"] == "detectButton" and msg[0]["Status"] == "C": #中央ボタンが押されたら
  7.         papero.send_get_speech_status() #発話中/停止中の状態を取得
  8.         msg = papero.papero_robot_message_recv(None) #イベントメッセージを取得
  9.         if msg[0]["Name"] == "getSpeechStatusRes" and msg[0]["Return"] == 2: #一時停止中なら
  10.             papero.send_resume_speech() #一時停止させた発話を再開
  11.         else:
  12.             papero.send_pause_speech() #実行中の発話を一時停止
  13.     elif msg[0]["Name"] == "detectButton" and msg[0]["Status"] == "L": #左ボタンを押されたら
  14.         papero.send_stop_speech() #実行中の発話を終了
  15.         papero.send_start_speech("こんにちは。パペロです。早口言葉が大好きです。鹿もカモシカも鹿の仲間 しかしアシカは鹿ではない 仕方ないが叱ってやった。")
  16.     elif msg[0]["Name"] == "detectButton" and msg[0]["Status"] == "R": #右ボタンを押されたら
  17.         papero.send_stop_speech()
  18.         papero.papero_cleanup()
  19.         sys.exit("終了")
  20. if __name__ == "__main__":
  21.     simulator_id, robot_name, ws_server_addr = pypapero.get_params_from_commandline(sys.argv)
  22.     papero = pypapero.Papero(simulator_id, robot_name, ws_server_addr)
  23.     if papero.errOccurred == 0:
  24.         while True:
  25.             papero_event_message = papero.papero_robot_message_recv(None) #イベントメッセージを取得
  26.             send_event_message(papero_event_message) #イベントメッセージを処理

 


0

最新開発ブログ一覧  (一覧で確認
2020年8月19日 14:08
開発ブログ
第30回 パペロで赤外線アレイセンサを動かしてみよう!【中編:顔の表面温度を測ってみよう】
by 管理者
2020年7月22日 16:07
開発ブログ
第29回 パペロで赤外線アレイセンサを動かしてみよう!【前編:簡易サーモグラフィを作ろう】
by 管理者
2019年11月20日 17:11
開発ブログ
第28回 パペロでJulius4.5を実行してみた
by 管理者
2019年11月13日 09:11
開発ブログ
第27回 JuliusをPaPeRoi向けにクロスコンパイルしてみた
by 管理者
2019年9月19日 17:09
開発ブログ
第26回Linaro Toolchainでクロスコンパイルしてみた
by 管理者

コメントは受け付けていません。