筑波大学 田中 良道
桑野 僚大
Virtual Tsukuba Challenge on Unity
2020.10.10
1自己紹介
田中 良道(Ryodo Tanaka)
• 所属:筑波大学(学生)
• 研究:Multi Contact Motion Planning
• 趣味:クラリネット演奏
• Twitter:@Ryodo Tanaka
桑野 僚大(Tomohiro Kuwano)
• 所属:某自動車メーカー
• 趣味:電子工作,プログラミング … etc
• Twitter:@calm0815
↑最近買った犬ロボ
← 高2の頃の様子
現在はここから +20kg...
2Virtual Tsukuba Challenge on Unity ... ?
つくばチャレンジ
• 2007年より開催
• つくば市内で開催
• 自律移動ロボットの大実験大会
• 交通規制などは無し!
• 安全・確実に動作するロボットの開発
Virtual Tsukuba Challenge
Virtual Tsukuba Challenge on Unity
つくばチャレンジ2018のコース.全長約2kmある
• 2020年はコロナの影響で実機大会中止…
• シミュレーション環境での開催
• 千葉工業大学 fuRo により 2018年から提唱・開発
• 2020年大会の公式シミュレータ(UE4)
• Virtual Tsukuba Challenge の Unity 版
• 2020年大会の公式シミュレータに….!
Virtual Tsukuba Challenge の様子(公式Githubより引用)
3つくばチャレンジで使われる機体(例)
• 動き回れる(2~6時間)
• 歩道を走破できる
• 周辺環境認識センサがついている
• 自律移動のための計算機がついている
ハードウェア
• プログラムの統合・通信がやりやすい
• プログラムの再利用を行いたい … etc
ソフトウェア
4ROSとシミュレータについて
• Robot Operating System の略称
• OSというよりミドルウェア
ツール …………
基盤 ……………
エコシステム …
分散型計算システム
起動,監視,デバッグ,視覚化,… etc
移動,操作,認識, … etc
を中心としたライブラリを提供
世界中の開発者とライブラリを共有
パッケージリリース規則なども充実
Gazebo
Ignition
• ROSとのインテグレーションが簡単
• Unityに比べると重たい(動作・起動共に)
• 大規模環境は作りづらい
• 簡単なAsset追加がやりづらい
• レンダリングが貧弱
• レンダリング等良くなりそう
• インテグレーションが現段階では大変
5なぜUnityを使うのか?
• 大規模マップが作れる!
• Gazeboに比べて軽量
• Asset Store が利用できる
• レンダリングがキレイ
• VRとのインテグレーションもできそう…!
• Unity触ってみたい
Unity + ROS で Virtual Tsukuba Challenge
をやると面白そう!
6vtc_unity の概要
Unity Rviz,rqt
7パッケージ構成
vtc_unity
統合パッケージ
環境・センサ・ロボット
自由に組み合わせ可能!(※ROS1 の利用が前提)
unit04_unity
ロボットパッケージ
• ROS# を利用
• URDFから作成可能
sensors_unity
センサパッケージ
• 3D LiDAR
• RGB Camera
• IMU (6 Axis)
vtc_world_unity
環境パッケージ
• 点群から生成
• つくば市役所周辺
• 公園はUpdate中!
8環境データの構築
Point Cloud Data
約1,400万点
by 防衛大学 冨沢研究室(Stencil 2.0)
Blender (≥2.8)
メッシュ化
less than 10,000ポリゴン
モデル化
オブジェクト配置
9ロボットモデルの構築
• xml記法のファイル
• あらゆるプログラムが参照
URDF
(Unified Robot Description Format)
• テクスチャ
• 衝突モデル
• Joint設定
は自動生成
• 質量情報
• センサモデル
は手動生成
[1] https://github.com/siemens/ros-sharp/wiki/User_App_ROS_TransferURDFFromROS
API[1]
10センサモデルの構築
3D LiDAR
[2] https://github.com/Field-Robotics-Japan/sensors_unit
6Axis IMU RGB Camera RGBD Camera
sensors_unity[2]
[3] Inamura, T. and Mizuchi, Y., 2020. SIGVerse: A cloud-based VR platform for research on social and embodied human-robot
interaction. arXiv preprint arXiv:2005.00825.
Inamura, T et. at. al [3] Figure.3 より引用
2D LiDAR・Wheel Odometry
は近日実装予定
11UnityとROSの通信
Serialize/Deserialize
Publish/Subscribe
rosbridge_server
websocket
HTTP
通常のトピック通信と同じ
Unityが起動する
すべてのOSで起動可能!!
複数PC間での通信が可能
12シミュレータ構築の難所(環境づくり)
木等の複雑形状の計測はどうする? そもそも木の除去も大変!
上:点群,下:メッシュモデル
同じ木のモデルでも
計測したものは平たいメッシュを観測している…
13シミュレータ構築の難所(環境づくり)
そもそも木の除去も大変!
上:点群,下:メッシュモデル
同じ木のモデルでも
計測したものは平たいメッシュを観測している…
木等の複雑形状の計測はどうする?
14シミュレータ構築の難所(環境づくり)
三角メッシュ化(再近傍)点群 メッシュの単純化
単純化(手動)した領域
まだ単純化
していない領域
大事な処理のほとんどが手動…とても大変…orz
15シミュレータ構築の難所(通信)
Serialize/Deserialize
Publish/Subscribe
rosbridge_server
websocket
HTTP
Serialize / Deserialize
でJSON(Text)に変換…
通信速度が下がる原因に
16シミュレータ構築の難所(LiDAR)
• 通信速度が遅い(前述)
• 葉っぱなどのモデルが単調
• レーザー強度モデル無し
VTC (UE4) by fuRo
VTC on Unity
• 通信速度が速い(並列処理)
• レーザー強度モデル有り[4]
[4] 吉田 智章, 原 祥尭, “移動ロボットシミュレータにおける 3D Lidar の受光強度シ
ミュレーション”, ROBOMECH 2020, 2020.
平面プレート
の形状を観測…
17今後のUpdate(予定)
• 公園エリアの作りこみ
• 各種Objectの配置
vtc_world_unity(環境)
sensors_unity(センサ)
unit04_unity(ロボット)
• レーザー強度(LiDAR)の実装
• ノイズの付加
• GPSセンサの追加
• 通信規格の修正・軽量化
• URDFからのモデル作成方法マニュアルの追加
その他
• NPCの追加
• オンラインNPC・ロボットの追加
更新内容は
Twitterにて公開!
@RyodoTanaka
18
https://github.com/Field-Robotics-Japan/vtc_world_unity
vtc_world_unity(環境)
sensors_unity(センサ)
https://github.com/Field-Robotics-Japan/sensors_unity
unit04_unity(ロボット)
https://github.com/Field-Robotics-Japan/unit04_unity
vtc_unity(統合)
https://github.com/Field-Robotics-Japan/vtc_unity
お気軽にContributeお願いします!
公開場所(LICENSE : Appache 2.0)
19今後の展望と募集
• VRを使ってWorldの中に入りたい!
• Assetを増やしてリアルな街をもっと作りこみたい!
• NAT超えで複数人・複数台オンラインシミュレーションしてみたい!
• 重機のシミュレーションもやってみたい! ⇒
ゲームエンジニアの方大募集中!!!
https://arav.jp/
Vortex Simulator : https://www.youtube.com/watch?v=TkiekFf5970Mogu Live : https://www.moguravr.com/cluster_repo/

Virtual Tsukuba Challenge on Unity について