webrtcで動かす“テレイグジスタンス”ロボット

38
Copyright © NTT Communications Corporation. All right reserved. 慶応⼤学・SkyWayチーム 共同研究事例紹介 WebRTCで動かす“テレイグジスタンス”ロボット NTTコミュニケーションズ株式会社 技術開発部 Webコア Technical Unit ⼤津⾕亮祐、中蔵聡哉 2016年2⽉16⽇

Upload: ntt-communications-technology-development

Post on 23-Jan-2017

1.758 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

慶応⼤学・SkyWayチーム 共同研究事例紹介

WebRTCで動かす“テレイグジスタンス”ロボット

NTTコミュニケーションズ株式会社技術開発部Webコア Technical Unit⼤津⾕亮祐、中蔵聡哉2016年2⽉16⽇

Page 2: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

⾃⼰紹介 ⼤津⾕ 亮祐

2

n 仕事WebRTCプラットフォーム“SkyWay” プロダクトオーナー

n コミュニティWebRTCをテーマにしたカンファレンス“WebRTC Conference Japan” 幹事

n プライベート神奈川県 葉⼭町 在住趣味は海と畑

Page 3: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

SkyWay

3

NTT Comが提供するWebRTCアプリ開発者向けプラットフォーム。サーバAPIとSDKを提供し、WebRTCアプリの開発を容易に。

Page 4: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

SkyWayの広がり

4

n 2013年12⽉5⽇にサービス開始n 2016年2⽉現在、3700以上のアプリで利⽤

Page 5: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

SkyWay Conference at 東京海上⽇動システムズ

多⼈数Web会議のサンプルアプリを社内に導⼊

5

Page 6: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

SkyRTC by 妻⿃通信⼯業

ビデオチャットによるお問い合わせ機能をWebサイトに埋め込めるSaaS

6

めんどり

Page 7: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

Romoで⾒つける!⼦どもの表情 by ⽇本科学未来館

“おや?”っこひろばで遊ぶ⼦どもの様⼦を、ロボットを使って離れた場所から⾒守るイベント

7

が っ こ

Page 8: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

V-Sido OS by アスラテック

⼈型ロボットを制御するOSの遠隔制御機能に採⽤

8

ぶ し ど う

Page 9: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

BestieBox by NTTコミュニケーションズ

グループコミュニケーションアプリのビデオチャット機能に採⽤

9

Page 10: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

gaccatz by ドコモgacco

300⼈のオンライングループワーク

10

が っ か つ が っ こ

Page 11: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

アースアイズ

家庭⽤防犯カメラ&サービス

11

Page 12: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

インスペクショングラス by NEXCOシステムズ

スマートグラスとビデオ通話で⾼速道路の点検作業を⽀援

12

Page 13: WebRTCで動かす“テレイグジスタンス”ロボット

13Copyright © NTT Communications Corporation. All right reserved.

慶応⼤学・SkyWayチーム 共同研究事例紹介

WebRTCで動かす“テレイグジスタンス”ロボット

Page 14: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

⾃⼰紹介

• NTTComのSkyWay開発チームにおいてR&Dを担当• 現在は「新規ユースケースの発掘」を中⼼に担当• 慶応⼤学メディアデザイン研究科博⼠課程1年⽣

Facebook: Toshiya.Nakakura

14

Page 15: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

WebRTC/SkyWayのユースケース

• ヒト 対 ヒトのコミュニケーション

• ヒト 対 モノのコミュニケーション

• モノ 対 モノのコミュニケーション

15

§ ビデオチャット, ボイスチャット§ コンタクトセンター§ 遠隔授業・遠隔医療

§ 監視カメラ映像の取得§ IoT機器の操作

§ センサデータ取得§ AIによる操作§ VPN

Page 16: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

WebRTC/SkyWayのユースケース

• ヒト 対 モノ to ヒトのコミュニケーション

§ Robotics§ テレイグジスタンス

Hi!Toshi!

Hi!

Page 17: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

Telexistence

17

(https://youtu.be/KoC1iTOmYTg)

東京⼤学舘研究室・稲⾒研究室・慶応⼤学南澤研究室と共同研究

Page 18: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

インターネット上での実現に際しての課題

18

• 接続性の担保

FWによる通信遮断NAT超えの疎通

• 操作性の担保

通信の遅延・ジッタ・パケットロスを前提とした設計

Page 19: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

インターネット上での実現に際しての課題

19

• 接続性の担保

FWによる通信遮断NAT超えの疎通

WebRTC/Skywayによる実現

Page 20: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

インターネット上での実現に際しての課題

20

• 操作性の担保

通信の遅延・ジッタ・パケットロスを前提とした設計

現在継続検討中

Page 21: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

実装の要件

21

カメラ映像の3D表⽰• 両⽬映像の同期• 映像の3次元加⼯• HMDへの出⼒

⼈間の動きをマッピング• HMDの動きを検出• ロボットの操作

NW品質の影響を緩和• 遅延の最⼩化• ロス・ジッタの影響緩和

Page 22: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

WebRTCを利⽤した実装

• Oculusのセンサーを取得してロボットを操作• Unityを利⽤して両⽬の映像を3D描画

22

The Internet

RobotDriver AppWebRTC

MediaStream

WebRTCDataChannel

Userwith Oculus Video Inputs

(2 eyes)

MotionVision

Chrome App

CameraDriver App

Merged Video

Robot

本⽇デモブースで展⽰を⾏っています

Page 23: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

User Side

• まずはUser Sideの実装についてお話しします

23

The Internet

RobotDriver AppWebRTC

MediaStream

WebRTCDataChannel

Userwith Oculus Video Inputs

(2 eyes)

MotionVision

Chrome App

CameraDriver App

Merged Video

Robot

Page 24: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

要件との対応

24

カメラ映像の3D表⽰• 両⽬映像の同期• 映像の3次元加⼯• HMDへの出⼒

⼈間の動きをマッピング• HMDの動きを検出• ロボットの操作

NW品質の影響を緩和• 遅延の最⼩化• ロス・ジッタの影響緩和

Page 25: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

User Sideの実装

• 頭部⽅向の取得できるHMDとしてOculus Riftを利⽤• Unityを⽤いた3次元表⽰

Note: UnityでのWebRTC実現にはSkyWayとCoherent UIを活⽤(http://coherent-labs.com/product-coherent-ui/)

25

Page 26: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

⽴体視の実現について

26

ロボットに両⽬をつけ、撮影

⼈間の両⽬で⾒た場合と⼀致するよう編集• カメラの曲率修正• 両⽬の間隔の補正• Head Mount Displayでレンダリング

両⽬の映像を同期を取って転送

Page 27: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

通信経路

• User Sideの要求に応えるための通信について説明します

27

The Internet

RobotDriver AppWebRTC

MediaStream

WebRTCDataChannel

Userwith Oculus Video Inputs

(2 eyes)

MotionVision

Chrome App

CameraDriver App

Merged Video

Robot

Page 28: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

要件との対応

28

カメラ映像の3D表⽰• 両⽬映像の同期• 映像の3次元加⼯• HMDへの出⼒

⼈間の動きをマッピング• HMDの動きを検出• ロボットの操作

NW品質の影響を緩和• 遅延の最⼩化• ロス・ジッタの影響緩和

Page 29: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

映像の同期

WebRTCのMediaTrackを利⽤した同期を検討

29

Media Stream

Audio TrackVideo Trak

• WebRTCのMediaStreamの中には、複数のMedia Trackが存在• これらのTracksは同期される(映像・⾳声ズレを防ぐため)

Page 30: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

映像の同期

WebRTCのMediaTrackを利⽤した同期を検討

30

Media Stream

Audio TrackVideo Trak(Right Eye)

• WebRTCのMediaStreamの中には、複数のMedia Trackが存在• これらのTracksは同期される(映像・⾳声ズレを防ぐため)

これを活⽤し、右⽬と左⽬の映像を複数のVideo Trackとして転送を試みた

Video Trak(Left Eye)

Page 31: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

映像の同期

結果• ローカルネットワークでは問題なく同期が⾏われた• ロスが発⽣すると同期ズレが⽣じた

原因• 同期はRTPのtimestampレベルで⾏われる• 別々のTrackは別々のRTPパケットに乗る• パケットロスは左右の⽬のトラックで均等には発⽣しない• ロスしたパケットは(基本的に)再送されず、

ありもののパケットで描画を試みる

現状の通信仕様ではロバストな同期とは⾔いがたい

31

Page 32: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

ネットワーク障害の影響

遅延• 映像・操作信号ともに遅延

= 操作性の低下・操作者が船酔いする• ネットワーク遅延は30ms程度まで許容範囲

(東京〜札幌間の遅延が25ms)

ロス• 映像の同期ズレ・ブロックノイズ• 操作信号の⽋損により、ロボットの動作がぎこちなくなる• ロスは1%程度までが許容範囲では(無線LANで1%〜5%程度)

これらは現状のWebRTCの通信仕様では回避不能なため、別⼿法での解決が必要

32

Page 33: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

WebRTCを利⽤した実装

33

The Internet

RobotDriver AppWebRTC

MediaStream

WebRTCDataChannel

Userwith Oculus Video Inputs

(2 eyes)

MotionVision

Chrome App

CameraDriver App

Merged Video

Robot

Page 34: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

要件との対応

34

カメラ映像の3D表⽰• 両⽬映像の同期• 映像の3次元加⼯• HMDへの出⼒

⼈間の動きをマッピング• HMDの動きを検出• ロボットの操作

NW品質の影響を緩和• 遅延の最⼩化• ロス・ジッタの影響緩和

Page 35: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

両⽬画像の結合

前述の通り、通信経路での同期担保が困難であったため、送信前に結合を⾏った。

35

Left Eye

Right Eye

DirectShowSource Filter

シングルストリームとしてgetUserMedia

Media Stream

Page 36: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

ロボットの操作

ロボットはSerial Portへバイナリストリームを流し込むと動く通常のWebページからはUDPやシリアル通信が⾏えないため、Chrome Appを作成して対応

36

WebRTCDataChannel

Robot ControlApplication

UDPで操作信号を転送

シリアルケーブルへデータ送信

Chrome App

Page 37: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

標準化活動へのフィードバック

W3C TPACにてユースケースの⼀例としてテレイグジスタンスを説明し、必要な機能要件についてinput

WebRTC標準化メンバーから、好意的なフィードバックを貰い継続検討中

37

Page 38: WebRTCで動かす“テレイグジスタンス”ロボット

Copyright © NTT Communications Corporation. All right reserved.

まとめ

• Telexistenceのようなシビアなユースケースであっても、⼯夫次第でWebRTCでサポート可能

• テレカンファレンスに限らず、数多の領域で活⽤可能• 標準化メンバーも好意的に話を聞いてくれるので、

⾃分の要求をフィードバックする価値は⼤きい

38