• 検索結果がありません。

モーションキャプチャシステムを用いた協調動作の実現

第 4 章 人と人型ロボットの身体性コミュニケーション 40

4.1.2 モーションキャプチャシステムを用いた協調動作の実現

本研究では3次元モーションキャプチャシステムを環境型センサとして利用することで,

人型ロボットにアイコンタクトや腕の動きの同調といった協調的動作をさせるロボットシ ステムを実現する(図4.2).本システムのソフトウェア構成を図4.3に示す.本ソフトウェ アは以下の3つのコンポーネントから構成される.

TCP/IP cameras Motion Capture System

Position Calculator

TCP/IP

Robot controller

Head Motors

Arm Motors ...

Communicative units

...

...

Nod Rotate

Voice

Operator

Contorol

Head Body ...

図4.3: ソフトウェア構成 Position Calculator

Position Calculatorはモーションキャプチャシステムを利用して人と人型ロボットの身

体位置を計測する.このためにVicon Motion Systems社製モーションキャプチャーシス テムを使用した1.本システムは赤外線照射機能つき赤外線カメラ12台と赤外線を反射す るマーカーから構成される.本システムは,時間分解能120 [Hz],空間分解能約1 [mm]

(本実験環境における値)で計測可能である.ここでは上半身のみの身体動作を行うため,

人間とロボットの上半身にそれぞれ23点のマーカーを取り付けた.

Position Calculatorはこのモーションキャプチャーシステムを利用し, 3次元の座標

データとマーカーの名前を同時に実時間で取得する.また,取得した3次元座標データを

TCP/IPによるSocket通信を用いて他の計算機へ渡すことができる.そのため,人間の

身体動作に実時間で反応するロボットが実現可能である.

Communicative Unit

Communiactive Unitは頭部,右腕,左腕,体の向きそれぞれに関して,人間との対話的

な身体動作を実現するモジュールである.各Communicative UnitではPosition Calculator から送られる身体位置に基づき,アイコンタクトや腕の同調といった人間の身体動作に協 調した動きをロボットの各部位で実現する.つまり,これらのモジュールが人と協調的な 身体動作を実現する.人と対話する際には,単純な同調動作のみでなくあいづちのような 動作も重要であるため,うなずきや,首をふるといった動作も実装した.表4.1に実装し た全てのCommuniactive Unitを示す.また,以下におもなCommunicative Unitの内容 を示す.なお,以下の詳細に登場する座標系に関しては,すべてロボット内部にある基準 点を原点としたローカル座標系に変換された値とする.この座標系は両肩のマーカーを通

1http://www.vicon.com/

表4.1: 実装したCommunicative Unit(身体動作)

頭部 腕(右,左) 体の向き(台車の移動) アイコンタクト 腕の同調(右,左) 正面を向く 指先方向を見る(右,左) 鏡像の腕の同調(右,左) 並ぶ位置関係

うなづき 動きなし

首をかしげる

表4.2: 実装したCommunicative Unit(発話) 発話

道を教えてね うん,うんうん,はい

ごめん,もう一回 ゆっくりお願い ありがとう,わかったよ

る直線をx軸との平行な直線とし,ロボットの正面をy軸の正の方向とする座標系である.

Communicative Unitの例

アイコンタクト 相手の顔位置のほうにロボットの頭部を向ける.

人の頭部左前につけたマーカーをLF HDH,頭部右前につけたマーカーをRF HDH, としたときに,LF HDHRF HDHの中点をCF HDHとする.また,左肩につけ られたマーカーをLSHOH,右肩につけられたマーカーをRSHOHとしたときに,

LSHOHRSHOHの中点をCSHOH とすると,人の目の位置は Heye= (CF HDH +CSHOH)/3

で求まる.この点にロボットの頭部を向ける.

ロボットの頭部左前につけたマーカーをLF HDR,頭部右前につけたマーカーを

RF HDR,としたときに,LF HDRRF HDRの中点をReyeとする.これは,本

ロボットの頭部が目となるカメラであるためロボット頭部につけられたマーカーは 同時に目の位置のマーカーとして扱うことができるためである.ここで,ロボット から人への視線のベクトルveyeDirectoinを求める.

veyeContact=Heye−Reye

このベクトル成分のz軸についての回転角(pan)とx軸についての回転角(tilt)を求 める.まず,z軸に関しての回転角panを求める.

pan=scalar(veyeContact, s)−arccos(0) 次に,tiltを計算するために,veyeContactpan分z軸回転させる.

ReyeDirection=rotate(veyeContact, pan)

pan

図4.4: アイコンタクト(XY平面図)

tilt

図 4.5: アイコンタクト(YZ平面図)

ReyeDirectionのy座標成分はx軸上にあるため,これによりtiltを求めることがで

きる.

tilt=scalar(veyeDirection, z)−arccos(0) 図4.4にx-y平面の図を,図4.5にy-z平面の図を示す.

腕の同調 人の腕の動作をロボットで再現する.左右逆の腕を再現する振る舞いもある.

人の左肩のマーカーをLSHOH,右肩のマーカーをRSHOH,左ひじのマーカーを LELBH,左手首の外側のマーカーをLW RAH,とするとひじの位置,また手首の位 置を3次元座標系で一意に決定することができる.具体的には,RSHOH-LSHOH がロボット座標系においてx軸と平行であり,上記アイコンタクトと同様の考え方 で進める.

並ぶ位置関係 人と向かい合う,また,人に対して体を真横を向ける.

人の両肩のマーカーをそれぞれRSHOH,LSHOHとし,ロボットの両肩のマーカー をそれぞれRSHOR,LSHORとすると,ロボットの両肩のマーカーを通る直線に,

人とロボットの肩の中心を通る直線が直交するように体を向けることで,人と向き合 う振る舞いを実現することができる.まず,人とロボットの肩の中心座標を求める.

CSHOH = (RSHOH +LSHOH)/2

Q S R

S P

RSHO LSHO

LELB LWRA

図4.6: 腕の同調

CSHOR= (RSHOR+LSHOR)/2 これから人とロボットのなすベクトルを求める.

vBodyDirection=CSHOH−CSHOR

ロボットの両肩を通る直線を求める

rSholderDirection =RSHOR−LSHOR)

vBodyDirectionrSholderDirectionから人と向かい合うための体の回転角を求める.

F ace−to−F ace=scalar(vBodyDirection, rSholderDirection)

また,ロボットの両肩のマーカーを通る直線を,人とロボットの肩の中心を通る直 線が平行になるように体を向けることで,人に対して体を真横に向ける振る舞いを 実現することができる.上記のvBodyDirection,rSholderDirectionから

Half−F ace−to−F ace=scalar(vBodyDirection, rSholderDirection) + arccos(0) この振る舞いは図4.4のような位置関係になる.

また,Communicative Unitによりロボットの発話内容も同時に制御する.発話内容は

「うん」「うんうん」「えっと」「それで」といったあいづち要素であるもの及び,次章で述 べる実験に用いる「わかったよ」である.

Robot Controller

Robot ControllerはCommunicative Unitからのモータ制御命令を受取り,それを基 に実際のハードウェアを制御する.また,現在の関節角といったロボットの内部情報を Communicative Unitに送る.

Subject

Robot Camera

Monitor PC

Operator

Operator Motion Capture System

図4.7: 遠隔操作によるCommunicative Unit切替え