開発ブログ

第23回 哀しむモーションを作ってみた

投稿日時:2019年8月23日 17:08

こんにちは。ピャペロンです。
今回はコミュニケーションロボットとして、よりパフォーマンスを高めるための哀しむモーションを考えてみました。
集客効果や愛着を持たせるためにもモーションは重要な要素なのでこだわっていきましょう!

使用するハード
・PaPeRo i実機

使用するソフト
・Windows 10
・テキストエディタ(Visual Studio Code
・Python 3.4(PaPeRo i)


パペロの顔が正面の場合を基準として作成しました。
今回は怒りを表現するモーションの紹介です。シミュレーターでの動作も確認しました。
モーションパターンの詳細はリファレンス | PaPeRo i [非公式] Developer Forumを参照してください。

 

哀しむ その1
落ち込んでうなだれているイメージ

  1. def sad(papero, brightness="2"):
  2.     """Papero makes a sad move
  3.     
  4.     Arguments:
  5.         papero {class} -- papero class
  6.     
  7.     Keyword Arguments:
  8.         brightness {str} -- LED brightness (default: {"2"})
  9.     """
  10.     vertical = "R-{0}T{1}L,R0T2400L,R{0}T{1}L".format(20, 1000).split(",")
  11.     horizontal = "R0T1000L,R20T400L,R-40T800L,R40T800L,R-20T400L,R0T1000L".split(",")
  12.     #ear = "W0N,{0},NW0,{0}".format(4).split(",")
  13.     #forehead = "G0,{0},N,{0}".format(4).split(",")
  14.     #cheek = "R0N,{0},NR0,{0}".format(4).split(",")
  15.     mouth = "NG0G0NG0NG0G0N,{0}".format(4).split(",")
  16.     chest = "B0,{0}".format(4).split(",")
  17.     papero.send_set_default_status_led(brightness)
  18.     papero.send_move_head(vertical=vertical, horizontal=horizontal, repeat=True)
  19.     #papero.send_turn_led_on(part="ear", pattern=ear, repeat=True)
  20.     #papero.send_turn_led_on(part="forehead", pattern=forehead, repeat=True)
  21.     #papero.send_turn_led_on(part="cheek", pattern=cheek, repeat=True)
  22.     papero.send_turn_led_on(part="mouth", pattern=mouth, repeat=True)
  23.     papero.send_turn_led_on(part="chest", pattern=chest, repeat=True)

哀しむ その2
悲しんで途方に暮れているイメージ

  1. def sad2(papero, brightness="2"):
  2.     """Papero makes a sad move
  3.     
  4.     Arguments:
  5.         papero {class} -- papero class
  6.     
  7.     Keyword Arguments:
  8.         brightness {str} -- LED brightness (default: {"2"})
  9.     """
  10.     vertical = "R-{0}T{1}L,R0T9000L,R{0}T{1}L".format(20, 1000).split(",")
  11.     horizontal = "R0T1000L,R130T2500L,R0T3000L,R-130T2500L,R0T1000L".split(",")
  12.     mouth = "NG0G0NG0NG0G0N,{0}".format(4).split(",")
  13.     chest = "B0,{0}".format(4).split(",")
  14.     papero.send_set_default_status_led(brightness)
  15.     papero.send_move_head(vertical=vertical, horizontal=horizontal, repeat=True)
  16.     papero.send_turn_led_on(part="mouth", pattern=mouth, repeat=True)
  17.     papero.send_turn_led_on(part="chest", pattern=chest, repeat=True)

次回は楽しむモーションを紹介する予定です。


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 管理者

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