䢴䣒䢴䢯䣌䢳䢴人の全身姿勢からヒューマノイドの全身姿勢を入力するインタフェースの開発 (その１)New key poses input system for the Choreonoid○正米倉 健太 (筑波大)

中岡 慎一郎 (産総研)横井 一仁 (産総研)

Kenta YONEKURA, Tsukuba University, s1020915@u.tsukuba.ac.jp
Shin’ichiro NAKAOKA, AIST, s.nakaoka@aist.go.jp
Kazuhito YOKOI, AIST, kazuhito.yokoi@aist.go.jp
New key poses input system for the Choreonoid that is integrated software to directly generate andedit the whole-body motion of a humanoid robot is developed. Thanks to KinectT M and OpenNIT M ,the system captures human poses without any markers and get position and orientation data of key
points of the human body from the pose. The data is converted to the joint angles of a humanoid
robot to generate the humanoid pose similar to the human pose. This interface is implemented as theplugin of Choreonoid.
Key Words: Humanoid Robot, Choreonoid, Kinect, OpenNI, Key pose

1. 緒言
青年女性を模したヒューマノイドロボット「サイバネティックヒューマン HRP-4C 未夢」が人々の関心を集めている [1]．未夢は人に近い容姿をしているがゆえに，従来のヒューマノイドロボットより人に近い動作を行うことが求められている．また，未夢がターゲットとしているコンテンツ産業では，ロボット技術に必ずしも詳しくないコンテ
ンツクリエータが，自ら未夢の動作を振付られることが望ましい．
これまで，人に近い動作をヒューマノイドロボットにさせる教示法として，まずモーションキャプチャシステムによりお手本となる演者の動作を計測し，計測した人の動作データを時系列に並べ，ロボットの対応する関節にあてはめることで人らしいモーションを実現する手法 [2] や，計測した人の動作データの中から「キーポーズ」という特徴的な姿勢を抽出して，それらを時系列的になめらかに接続することで人らしいモーションを実現する手法 [3] が提案されている．
しかし，モーションキャプチャシステムは大掛かりかつ高価な設備であり，演者へのマーカー装着や，計測データの処理にも専門性が必要なため，コンテンツクリエータが気軽に使えるものではなかった．
我々のグループは「キーポーズ」ベースのモーション作成支援アプリケーション「Choreonoid」を開発している [4]．
Choreonoid は，画面上に表示された未夢の CG モデルを，主にマウス操作やスライダーにより操作することにより時系列的なキーポーズを作成する．Choreonoid では，作製したキーポーズが逐次，動的バランスのとれたキーポーズに自動的に修正されるため，ロボット技術に必ずしも詳しくないコンテンツクリエータでも簡単にヒューマノイドロボットの動作を作製することが可能となっている．しかし，人に近い滑らかな動作を作製するためには，数多くのキーポーズを入力することが必要となるため，キーポーズを手軽（簡便かつ安価）に入力できるインターフェースの開発が望まれていた．
本稿では，最近発売された KinectT M [5] と OpenNIT M [6]を用いて，Choreonoid に対する人の動作入力インターフェースを構成する手法について報告する．
2. 人の姿勢からロボットのキーポーズを生成する手法
OpenNIT M を用いると，KinectT M からカメラ座標系における演者の特徴点の位置・姿勢を取得することができる．

この情報をもとに演者と類似の姿勢を実現する未夢の関節角度を算出し，Choreonoid への入力値とする．
2·1

腕関節角度の取得方法

まず，腕関節角を取得する一手順を以下に示す．なお，後述する脚関節角の取得方法と同様の手法でも腕関節角は取得することができる．
Kinect の人のボーン認識機能（ミラーモード）を用いて，Kinect のカメラ座標系 ΣK で表された演者の肩，肘，手先の位置ベクトル K PSH ，K PEL ，K PW R および演者の腰座標系 ΣKT O の姿勢行列 K RT O を計測する．
ここで，Kinect のカメラ座標系 ΣK は，カメラから演者を見て，右が x 軸正方向，上が y 軸正方向，奥が z 軸正方向となっているため、それにより計測した演者の腰座標系 ΣKT O は，腰から首へが y 軸正方向，腹から背に向かってが z 軸正方向，右が x 軸正方向となっている．一方，Choreonoid における基準座標系 ΣC であらわした腰座標系 ΣCT O は，腰から首へが z 軸正方向，背から腹に向かってが x 軸正方向，左が y 軸正方向となっている．このため，この両者を変換する行列を CT O RKT O で定義する．
求めた演者の肩，肘，手先の位置ベクトルを，行列K
RKT O ，行列 CT O RKT O を用いて次式によって変換する．
CT O

PSH = CT O RKT O K RKT O T K PSH

CT O

(1)

PEL =CT OK

RKT O RKT O

TKPEL

(2)

PW R =CT O

K

TK

PW R

(3)

CT O

RKT O RKT O

式 (1,2,3) の CT O PSH ，CT O PEL ，CT O PW R から，上腕，前腕の方向ベクトルの単位ベクトルを次式によって求める．
CT O
CT O

PSH−EL = CT O PEL − CT O PSH

PEL−W R =CT O

PW R −

CT O

PEL

(4)
(5)

ロボットの各関節の可動角限界を考慮し，次式で表される運動学的拘束条件式を解くことにより，ロボットの肩３関節ならびに肘関節の角度 [qa0 qa1 qa2 qa3 ] を計算する．
CT O|

CT O

PSH−EL= Ry (qa0 )Rx (qa1 )Rz (qa2 )(−z)
PSH−EL |䣐䣱䢰䢢䢳䢳䢯䢷䢢䣒䣴䣱䣥䣧䣧䣦䣫䣰䣩䣵䢢䣱䣨䢢䣶䣪䣧䢢䢴䢲䢳䢳䢢䣌䣕䣏䣇䢢䣅䣱䣰䣨䣧䣴䣧䣰䣥䣧䢢䣱䣰䢢䣔䣱䣤䣱䣶䣫䣥䣵䢢䣣䣰䣦䢢䣏䣧䣥䣪䣣䣶䣴䣱䣰䣫䣥䣵䢮䢢䣑䣭䣣䣻䣣䣯䣣䢮䢢䣌䣣䣲䣣䣰䢮䢢䣏䣣䣻䢢䢴䢸䢯䢴䢺䢮䢢䢴䢲䢳䢳䢴䣒䢴䢯䣌䢳䢴䢪䢳䢫(6)

Fig. 1 NiView Plugin with Choreonoid

CT O

PEL−W R
= Ry (qa0 )Rx (qa1 )Rz (qa2 )Ry (qa3 )(−z)|CT O PEL−SH |(7)
ここで，Rx (q)，Ry (q)，Rz (q) は，それぞれ x，y，z 軸回りに角度 q 回転させる回転変換行列，z は z 軸方向の単位ベクトルである．
2·2

脚関節角の取得

次に，脚関節角を取得する一手順を以下に示す．なお，前述した腕関節角の取得方法と同様の手法でも脚関節角は取得することができる．
Kinect の人のボーン認識機能（ミラーモード）を用いて，Kinect のカメラ座標系 ΣK で表された演者の腰座標系，大腿座標系，下腿座標系の姿勢行列 K RT O ，K RHI ，K RKNを計測する．
求めた演者の腰，大腿，下腿の姿勢行列を，Kinect のカ
メラ座標系 ΣK と Choreonoid における基準座標系 ΣC とを変換する行列 C RK を用いて次式によって変換する．
C

RT O = C RK K RT O

(8)

C

C

K

RHI = RK RHI

(9)

CC

K

(10)

RKN = RK RKN

ロボットの各関節の可動角限界を考慮し，次式で表される運動学的拘束条件式を解くことにより，ロボットの股３関節ならびに膝関節の角度 [ql0 ql1 ql2 ql3 ] を計算する．
C
CRT O TC RHI = Rz (ql0 )Rx (ql1 )Ry (ql2 )

RHI

TC

RKN = Ry (ql3 )

(11)
(12)

3. NiView プラグイン
Choreonoid 上のロボットモデルに，前述した Kinect から OpenNI を用いて取得した関節角度を適用するためのNiView プラグインを製作した．Fig.1 は，Choreonoid 上
で NiView プラグインを起動した時のキャプチャー画面である．左側の Ni view では，Kinect により計測された深度情報に，計測された演者の腰座標系の姿勢（roll，pitch，yaw）および計算された肩関節，肘関節，股関節，膝関節の角度がオーバレイされる．右側の Scen view では，HRP-4Cのモデルが計算された関節角度を取って表示される．
4. 結言
最近発売された KinectT M [5] を，OpenNIT M [6] を用いて Choreonoid に対する人の動作入力インターフェースを構成した．現状では，本システムを用いては，手首，足首の関節角度を得ることができない．これについては，今後の課題である．

[1] Kenji KANEKO, Fumio KANEHIRO, Mitsuharu MORISAWA, Kanako MIURA, Shin ichiro NAKAOKA, andShuuji KAJITA.: “Cybernetic Human HRP-4C,” in Proceedings of the IEEE-RAS International Conference on
Humanoid Robots (Humanoids-2009), (2009).
[2] Seungsu Kim, ChangHwan Kim, and Jong Hyeon Park:“Human-like Arm Motion Generation for Humanoid
Robots Using Motion Capture Database ,” in Proceedings of the IEEE International Conference on Robotics
and Automation (ICRA-2006), (2006).
[3] 白鳥貴亮, 中澤篤志, 池内克史: “モーションキャプチャと音楽情報を用いた舞踊動作解析手法,” in 電子情報通信学会論文誌
D-II, Vol. J88-D-II, No. 8, pp. 15831590, 2005, (2005).
[4] Shin ichiro Nakaoka, Shuuji Kajita and Kazuhito Yokoi:“Intuitive and Flexible User Interface for Creating Whole
Body Motions of Biped Humanoid Robots,” in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS-2010), (2010).
[5] “Kinect,” http://www.xbox.com/ja-jp/kinect.
[6] “OpenNI,” http://openni.org/.

䣐䣱䢰䢢䢳䢳䢯䢷䢢䣒䣴䣱䣥䣧䣧䣦䣫䣰䣩䣵䢢䣱䣨䢢䣶䣪䣧䢢䢴䢲䢳䢳䢢䣌䣕䣏䣇䢢䣅䣱䣰䣨䣧䣴䣧䣰䣥䣧䢢䣱䣰䢢䣔䣱䣤䣱䣶䣫䣥䣵䢢䣣䣰䣦䢢䣏䣧䣥䣪䣣䣶䣴䣱䣰䣫䣥䣵䢮䢢䣑䣭䣣䣻䣣䣯䣣䢮䢢䣌䣣䣲䣣䣰䢮䢢䣏䣣䣻䢢䢴䢸䢯䢴䢺䢮䢢䢴䢲䢳䢳䢴䣒䢴䢯䣌䢳䢴䢪䢴䢫