【自己紹介アプリ】Pepperが踊る


こんにちは。yanagiです。
まずは、前回の更新から時間が空いてしまい申し訳ありませんでした。
今の会社に入って1年になりました。制作に携わったアプリも両手に収まりきらない数になり、自身の成長を感じております。
日常面では、プリズムの煌めきを浴びるなどして世界が輝いて見えております。

自己紹介アプリも最終回です。(たいへんお待たせいたしました)
この記事では、Pepperの動きを作る方法をご紹介します。今回もなるべく丁寧に、この記事を読みながら作れるように解説できたらと思います。長くなりますが、おつきあいくださいませ。


その6:モーションを作成する

いよいよモーションを作成します!
ここが、Pepperでアプリ作成をする醍醐味のひとつでもあります。

と、その前に大事なことを。
モーションをアプリに入れる際に「この動きってどんな感じかなー」と実行して確認する必要があるのですが、いきなりPepperの機体で動かすと危険です。長時間動きを確かめているとPepperが疲れてしまいますし(具体的に言うと各関節のモーターの温度が高くなってしまいます)、予想外にモーメントがかかる動きをさせてしまいPepperが転倒してしまうこともあります。(一度、倒しました)

ですので、モーション作成中はバーチャルロボットに接続し、これで動きを確認します。
Choregrapheの設定からバーチャルロボットを開き、以下のように設定します。

バーチャルロボット設定

すると、Choregrapheメニューから接続→バーチャルロボットに接続、で下のように表示することができるようになります。

バーチャルロボット

さて、本題です。
モーションの作り方は大まかに、2つあります。
一つは既存のモーションデータを入れる方法、もう一つは、1から自分でモーションを作る方法です。


まずは、【既存のモーションデータを入れる方法】。

ボックスライブラリの中のAnimationにはたくさんモーションが入っています。NAOとPepperがそれぞれあるので、Pepperの方を使います。

ボックスライブラリAnimation

好きなモーションをドラッグ&ドロップで持ってきて、Boxを線をつなぐだけなので簡単です。動きの確認はBoxをクリックして中を開き、タイムラインと呼ばれるバーコードのような部分の横の▶︎(再生)を押すとできます。

モーション確認

バーコードの黒い部分にそれぞれ、腕の角度や首の向きなどが記録されており、各動きへ滑らかに遷移することで一連のモーションを作っているようです。

つまり、「この動きを使いたいんだけど、もうちょっと腕を上げたいなぁ」みたいな、ちょっとした変更はこの黒い部分(キーフレーム)を編集することで可能になります。
動きを変えたいキーフレームを選択した状態(オレンジ)で、ロボットビューの変えたいパーツ(腕や頭など)を選択すると、インスペクタにパーツが持つパラメータが表示されます。ここの値を変えながらモーションを編集します。
値を変えた後はこまめに保存することをお勧めします!!(切実)

インスペクタ

そして完成した[TimeLine]を、動きを入れたい部分に並列につなぎます。すると、しゃべりながら動きます。

talkmove

自己紹介アプリのモーションは、この方法で作成したのですが、せっかくなのでもう一つの方法も解説いたします。


というわけで、2つ目の方法は【1から自分でモーションを作る方法】です。

「全てのキーフレームに全てのパーツの値を振っていくなんて、気の遠くなるような話では…」と思ったかもしれませんが、心配ご無用です。
実はもっと簡単に、言うなれば、直接Pepperの体を動かしてキーフレームを作っていく方法があるのです!

この方法はバーチャルロボットに接続したままでは実行できないので、まずは、Pepper本体への接続に切り替えます。

そして、ボックスライブラリのAnimation/Creation/Timelineをドラッグ&ドロップし、モーションが何も入っていないBoxを用意します。以下の画面からスタートです。

モーション作成開始

まずはChoregrapheの右上にあります、ダヴィンチコードのイラストのような「アニメーションモード」アイコンをクリックします。これは、Pepperの手や頭を直接動かしてポーズをとらせるモードにするボタンです。ONにしますと、緑→赤になります。同時に、Pepperの目のLEDも白からオレンジに変化します。
さらに、Pepperの顔が人の動きを追わないように、オートノマスライフを切っておきましょう。(♥→♡)これでPepperはただのマネキン人形になりました。以下の画像のようになればスタートです。

アニメーションモード

アニメーションモードになっている状態で手の甲にあるセンサーに触れながら(触れている方の目のLEDが緑になります)、腕を動かしたい位置にまで移動。センサーから手を離すと固定されます。

モーション説明1

頭を動かす際は、天頂部のセンサーに一度触れ(目のLEDが両方とも緑になります)優しく向かせたい方向に首を動かします。もう一度触れると固定され、LEDがオレンジに戻ります。

ちなみに、最近私が発見した隠しコマンドがあるのですが、手の甲に触れている最中に頭のセンサーの前部分や後ろ部分にも触れると、指の開閉もできます!タイタニックの有名なシーンのようにPepperを後ろの方から両方の手の甲に触れた際に、偶然私の顎がPepperの後頭部に当たり発見いたしました。

モーション説明2

ただ、この方法でモーション作成できるのは、腕と頭だけです。
腰や足元などを動かす際は、1つ目に紹介した方法で、キーフレームから値を操作してください。


いかがでしたでしょうか。
いつも「ブログ見てるよ!(訳:次の更新まだ?)」というお言葉をいただき、恐縮ながら大変嬉しく思っておりました。

さて、冒頭にも記述いたしましたが、ブログの更新を怠っていた間に色々とPepperアプリ制作技術を学びましたので、(主にChoregrapheやPython、JavaScriptまわり)次回からもっと色々とご紹介できたらと思います。

更新頻度を疎かにしないよう、もっとライトな内容を細かに書いていきたいなと思います。(上が許してくれるのであれば!)


コメントを残す

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