箱庭VR空間で、ロボット・マルチプレイ開発をゲーム感覚でやってみよう
森崇(永和システムマネジメント)

自己紹介• 森 崇(もり たかし)
• 職歴/専門分野• Linuxファイルシステム/カーネル周りのお仕事(10年)• 組込みRTOS/ROS周りのお仕事(10年)• 新規ビジネス向けWebシステム開発(昨年から～)• TOPPERS/箱庭WG参加・開発(4年)• 組込みソフト/マイコンシミュレータ担当• 箱庭コア機能担当• 物理シミュレーション/ビジュアライズ
• その他いろいろAthrill

2

アジェンダ1. 『箱庭』の狙いとコンセプト[5分]2. 箱庭を実現するゲーム技術[5分]3. 箱庭VR空間でロボット・マルチプレイする[デモ：20分]
4. 必要な機器構成およびインストール手順[5分]
5. 箱庭の目指すところとアーキテクチャ[5分]3

『箱庭』の狙いとコンセプト• 箱の中に，様々なモノをみんなの好みで配置して，いろいろ試せる！

・仮想環境上(箱庭)でIoT/ロボット・システムを開発する• ⇒ 各分野のソフトウェアを持ち寄って，机上で全体結合＆実証実験！
ロボット制御系
エンジニア

組込み系
エンジニア

ネットワーク系
エンジニア

クラウド系
エンジニア

Web系
エンジニア

4

箱庭WG活動のテーマ
楽しく

わくわく

つながる
5

箱庭を実現する技術
クラウド系

ロボット制御系

箱庭rillAth

組込み系

Web/ネットワーク系

6

箱庭を実現するゲーム技術
本日の主役！
• Photon• VR(Oculus Quest2)

7

Photon ってなに？
100%フリーでマルチプレイゲームを実現できる！(MAX:20ユーザ)

8Photon アーキテクチャ• Client• マルチプレイゲームに参加するプレイヤ• PUN• Photon Unity Networking• マルチプレイ対応Unityパッケージ• Photon Cloud• マルチプレイゲームを実現する• クラウドサービス• Client上のプレイヤを• クラウド上で同期する

UI/ビジュアライズ/物理演算エンジン

UI/ビジュアライズ/物理演算エンジン

UI/ビジュアライズ/物理演算エンジン

9

Photon があると何ができる？

ビジネスオーナー

実証実験場

拠点１

拠点２

拠点３

10

VRってなに？
言わずと知れたバーチャルリアリティ(VR)
ゲームの世界では手軽に楽しめるようになった！

Oculus Quest2

3D空間にダイブして，臨場感のあるVR体験

11

VR(Oculus Quest2) があると何ができる？

？？

12

箱庭VR空間でロボット・マルチプレイする• １個のロボットを動かす• 複数のロボットを動かす• Photonでロボット・マルチプレイする• Oculus Quest2で箱庭VR空間にダイブする！

13

１個のロボットを動かす• Unity上の１台のTurtlebot3をROS2で動かします
ロボット制御プログラム(C++)

ROSトピック(センサデータ等)
UI/ビジュアライズ/物理演算エンジン

14

１個のロボットを動かす

15

箱庭VR空間でロボット・マルチプレイする• １個のロボットを動かす• 複数のロボットを動かす• Photonでロボット・マルチプレイする• Oculus Quest2で箱庭VR空間にダイブする！

16

複数のロボットを動かす• Unity上の２台のTurtlebot3をROS2で動かします(何台でもいけます)
ロボット１

ロボット２

ロボット1の制御プログラム(C++)

ロボット2の制御プログラム(C++)

ロボット1のROSトピック
UI/ビジュアライズ/物理演算エンジン

ロボット２のROSトピック

17

複数のロボットを動かすための手順• たったの３ステップで，複数のロボット配置してシミュレーション実行できます！

ステップ１

ステップ２

箱庭ロボット・アセット
asset1…

asset2

asset2…

ステップ３
箱庭ロボット・シミュレータ

asset3

asset3

インストール

箱庭ロボット・コンフィギュレータ

18複数のロボットを動かす

19

箱庭VR空間でロボット・マルチプレイする• １個のロボットを動かす• 複数のロボットを動かす• Photonでロボット・マルチプレイする• Oculus Quest2で箱庭VR空間にダイブする！

20

Photonでロボット・マルチプレイする• 複数拠点にいる Turtlebot3 を Photon Cloud で同期しますPhoton Cloud
拠点１
PUN

拠点２
PUN

21

Photonでロボット・マルチプレイするための手順• 複数のロボットの場合と同じです• Photon用のアセットを利用して，箱庭コードをGenerateする点が異なります

ステップ１

ステップ２

箱庭ロボット・アセット
asset1…

asset2

…

PUN

ステップ３
箱庭ロボット・シミュレータ

asset3PUN
asset2

asset3

インストール

箱庭ロボット・コンフィギュレータ

22

Photonでロボット・マルチプレイする

23

箱庭VR空間でロボット・マルチプレイする• １個のロボットを動かす• 複数のロボットを動かす• Photonでロボット・マルチプレイする• Oculus Quest2で箱庭VR空間にダイブする！

24

Oculus Quest2で箱庭VR空間にダイブする！
• 箱庭アバターを使って，Photon Cloudにログインして，VR体験します！

拠点３
Oculus Quest2

PUN

25

Oculus Quest2で箱庭VR空間にダイブする！

26

アジェンダ1. 『箱庭』の狙いとコンセプト
2. 箱庭を実現するゲーム技術
3. 箱庭VR空間でロボット・マルチプレイする
4. 必要な機器構成およびインストール手順5. 箱庭の目指すところとアーキテクチャ

27

必要な機器構成(1/2)
【ゲーミングPC】■マシンスペックの目安
CPU：Intel® Core™ i7-9700 CPU @3.00GHz
メモリ：16GB
SSD：512GBGPU：NVIDIA GeForce GTX 1660 SUPERイーサーネット■OS推奨：Windows 10 (Windows 11はまだ早いかも)■Unityバージョン
Unity Hub
：Unity Hub 3.1.1
Unityエディタ：Unity 2021.3.0f1■Photonで利用するもの
・Photonの無料アカウント
・Photon の無料枠(20ログインまで)のアプリケーション ID

28

必要な機器構成(2/2)
【VR機器】【必ず必要な機器】■Oculus Quest2【あると良い機器】■Quest 2 Eliteストラップ■oculus quest 2用 ケーブル
USB 3.1 Type C wuernine★Oculus Linkを利用

後ろにあるダイアルを回すだけでフィットさせることができる29

インストール手順• Qiita記事をご参照ください！
• 検索キーワード： qiita oculus photon ros2 箱庭• 全３回で，今回の内容を説明しています！

30

31

箱庭の目指すところとアーキテクチャ■箱庭ドメイン・サービス
様々な分野への適応を目
指す

ロボット系

物流系

航空・宇宙

家電系

箱庭ドメイン・サービス■箱庭コア
箱庭固有のシミュレーション
技術をコア技術化■サードパーティ
既存のサードパーティ製で出来ていることは積極利用■箱庭アセット・サービス
シミュレーション内の登場物を箱庭アセット化し，アセット数拡充を目指す

サードパーティ(クラウド)

Simulink

サードパーティ(可視化)

箱庭コア
箱庭アセット・サービス
ロボット系

実行基盤系

クラウド系

マイコン系

32

箱庭WGの目指すところ• 箱庭のターゲット• IoTのような複雑なシステム(ロボット/物流・宇宙等様々な分野を想定)• 様々な機器(リアルタイム/非リアルタイム)がネットワークで接続されたシステム• 箱庭とは• 全体結合シミュレーション環境• 箱庭の利用者• システム開発者• システム提供者• 箱庭アセット(システム構成要素)提供者/開発者

システム開発者システム提供者

箱庭(全体結合シミュレーション環境)
箱庭アセット
提供者

箱庭アセット
開発者

33

『箱庭』の目指すところ
IoTシステム開発者／提供者のためのシミュレーション環境とエコシステムを構築するシステム開発者

サービス要件の早期キャッチアップ

色々試せる

手軽に試せる

スケール
向上

検査
自動化

問題早期検出

改善要望の早期リリース

サービス提供者

全体結合シミュレーション環境
可視化技術

箱庭エンジンアセット
提供
箱庭WG成果物

箱庭アセット
開発者／提供者

アセット
利用料

スケジューリング/同期・通信/
時間管理/アセット管理

クラウド技術サードパーティ成果物

34

Hakoniwa Engine:

複雑なシステムを仮想環境で動作させる仕組み
可視化

シミュレー
ション時間

可視化ツール箱庭
コア

コンポーネント化
マイコン
シミュレータアセット

アセット

スケジューリング
アセット管理

時間管理
同期・通信

物理シミュレータ

シミュレーション時間

テスト実行管理

シナリオ

自動化

35

『箱庭』WGへのご案内• でっかく語って，少しずつ育てております！
• だんだんとカタチになってきました！
• https://toppers.github.io/hakoniwa/• 箱庭の狙い・趣旨にご賛同いただける方のWGへの参画をお待ちしております！！

• まずはSlackでの議論，活動内容へのご要望，コア技術やアセットの開発，などに参加したい方• 箱庭WGの技術成果を活用したい方• 製品開発に展開してみたい方

Star && Watch
お願いします！

公式Webサイトにて最新の技術情報や発表資料を公開中！

よろしくお願いいたします！！

36