Pepperに「ラジオ体操第2」を実演させる:Pepperで始めるロボットプログラミング(2)(1/4 ページ)
Pepperの大きな特徴の1つは「動きがある」こと。モーションの作り方を解説するとともに、彼にラジオ体操を実演させてみよう。
ロボットの大きな特徴は「動くことができる」ということだ。音声認識や画像認識などはPCやスマートフォンなどでも利用できるが、何かモノを持ったり、自ら移動したりといったことは、サーボモーターなどのアクチュエータが必要で、こうした「動き」を実行できるのはロボットならではといえる。
Pepperは、首、腕、腰、脚の各所に関節がある。工場内で組み立て作業などに従事する産業用ロボットのようなパワーや正確さは無いものの、各所の関節を動かすことで、多彩な表現が可能だ。連載2回目の今回は、Pepperの「動かし方」について注目することにしよう。
ロボットの「自由度」とは?
まずはPepperの関節構造を知っておこう。Pepperには合計20個のモーターが搭載されている。場所は以下の通りだ。
可動場所 | 自由度 | 可動方向 |
---|---|---|
頭部 | 2自由度 | 首(ピッチ、ヨー) |
左腕 | 6自由度 | 肩(ピッチ、ロール)、肘(ロール、ヨー)、手首(ヨー)、指 |
右腕 | 6自由度 | 肩(ピッチ、ロール)、肘(ロール、ヨー)、手首(ヨー)、指 |
胴部 | 2自由度 | 腰(ピッチ、ロール) |
脚部 | 1自由度 | 膝(ピッチ) |
車輪 | 3自由度 | オムニホイール(左前輪、右前輪、後輪) |
ピッチ/ロール/ヨーというのは、モーターの回転方向を示す用語だ。もともとは飛行機などの乗り物で使われる用語であるが、例えばロボットの頭部で考えると、ピッチ軸は首を上下に振る方向、ロール軸は首を左右に傾ける方向、ヨー軸は首を左右に振る方向ということになる。首以外の関節も、同様に考えれば良い。
Pepperの場合、首のロール軸は省略されており、ピッチ軸とヨー軸の2軸のみ搭載しているので、首の自由度は2となる。基本的に、自由度が大きいロボットほど複雑な動きが可能で、より人間に近い動きができる。なお、自由度はモーターの数と同じ場合が多いが、1軸に2個モーターを搭載することもあり、必ず同じであるとは限らない。
Pepperの合計20自由度のうち、ロボットの関節といえるのは車輪を除いた17自由度だが、この17個のモーターを動かし、Pepperのポーズ(姿勢)を変えたい場合、Choregrapheでは「Timeline」ボックスを利用することができる。
Timelineボックスでは、いわゆる"パラパラ漫画"のような方式でロボットの動き(モーション)を指定する。パラパラ漫画のように何種類かポーズを用意しておいて、それを順番に再生することで、任意の動きを実行させるというわけだ。
例えば、前回のサンプルアプリで使ったTimelineボックスでは、1つだけポーズ(右手を挙げた姿勢)を用意していた。これを開始1秒後のポーズとして登録したのだが、実際のPepperの動きを見ると、腕は1秒後に急に動くのではなく、最初から滑らかに動き出していることが分かる。
これは、指定されたポーズの“間”の動きを、Pepperが自動で補間してくれているからだ。この機能のおかげで、ユーザーは全フレームでポーズを作らなくても、いくつかキーフレームを選んでポーズを設定するだけで、滑らかなモーションを作ることができる。うまくキーフレームを選べば、最低限のポーズを作るだけで済むので便利だ。
Copyright © ITmedia, Inc. All Rights Reserved.