Pepperアニメーション

ペッパーにアニメーションをさせには0から自分でアニメーションを作成することもできるが、なかなかに難しいらしい。私は作ったことがありませんがpepperの勉強会に参加した際プロでも難しいので一般的には既存のアニメーションをインポートして使うのが良いとのことでした。

アニメーションのインポート

f:id:harumi_sagawa:20180807184115p:plain f:id:harumi_sagawa:20180807184400p:plain 今回はAnimalフォルダからゴリラのモーションをインポートしてみました。中身は下記のようになっています、こんな感じで指定していけばペッパーの動きを作れるようですがなかなか難しそうですね。
f:id:harumi_sagawa:20180807184607p:plain

コード

Animation animation = AnimationBuilder.with(qiContext)
                .withResources(R.raw.gorilla_b001)
                .build();
        animate = AnimateBuilder.with(qiContext)
                .withAnimation(animation)
                .build();
        Future<Void> animateFuture = animate.async().run();

アニメーションさせるタネに必要なのは上記のコードをonRobotFocusGaineの中に書くことになります。animation変数のwithResourcesにインポートしてきたアニメーションを指定しています。

話しながらアニメーション

話しながらアニメーションをすのは簡単で、onRobotFocusGaineの中にSayメソッドを入れてあげれば実現できます。しかし、注意しなくてはいけないのはasync()を指定して別スレッドにしてあげる必要があります。そうすることでSayとAnimationを並列に処理をすることができます

Say say = SayBuilder.with(qiContext)
                .withText("uhouho")
                .build();
        say.async().run();