Virtual Tsukuba Challenge on Unity について

872 Views

October 19, 20

スライド概要

自律移動ロボットの公開実験大会である「つくばチャレンジ」は2020年,コロナウイルスの影響によりオンラインでの開催が決定し,シミュレータを用いた実験(Virtual Tsukuba Challenge(VTC))が案内されています.本講演では,VTCをUnity上に再現し,かつRobot Operating System(ROS)との連携を行うための方法をご紹介します.ロボットモデルの再現,センサのシミュレート,Unityとの通信方法についてご紹介し,Unityにおける利点や課題,将来展望について発表します。

profile-image

リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Virtual Tsukuba Challenge on Unity 2020.10.10 筑波大学 田中 良道 桑野 僚大

2.

自己紹介 1 田中 良道(Ryodo Tanaka) • • • • 所属:筑波大学(学生) 研究:Multi Contact Motion Planning 趣味:クラリネット演奏 Twitter:@Ryodo Tanaka ↑最近買った犬ロボ ← 高2の頃の様子 現在はここから +20kg... 桑野 僚大(Tomohiro Kuwano) • 所属:某自動車メーカー • 趣味:電子工作,プログラミング … etc • Twitter:@calm0815

3.

Virtual Tsukuba Challenge on Unity ... ? 2 つくばチャレンジ • • • • • 2007年より開催 つくば市内で開催 自律移動ロボットの大実験大会 交通規制などは無し! 安全・確実に動作するロボットの開発 つくばチャレンジ2018のコース.全長約2kmある Virtual Tsukuba Challenge • 2020年はコロナの影響で実機大会中止… • シミュレーション環境での開催 • 千葉工業大学 fuRo により 2018年から提唱・開発 • 2020年大会の公式シミュレータ(UE4) Virtual Tsukuba Challenge on Unity Virtual Tsukuba Challenge の様子(公式Githubより引用) • Virtual Tsukuba Challenge の Unity 版 • 2020年大会の公式シミュレータに….!

4.

つくばチャレンジで使われる機体(例) 3 ハードウェア • 動き回れる(2~6時間) • 歩道を走破できる • 周辺環境認識センサがついている • 自律移動のための計算機がついている ソフトウェア • プログラムの統合・通信がやりやすい • プログラムの再利用を行いたい … etc

5.

ROSとシミュレータについて • Robot Operating System の略称 • OSというよりミドルウェア ツール ………… 分散型計算システム 基盤 起動,監視,デバッグ,視覚化,… etc …………… 移動,操作,認識, … etc を中心としたライブラリを提供 エコシステム … 世界中の開発者とライブラリを共有 パッケージリリース規則なども充実 Gazebo Ignition • • • • • 4 ROSとのインテグレーションが簡単 Unityに比べると重たい(動作・起動共に) 大規模環境は作りづらい 簡単なAsset追加がやりづらい レンダリングが貧弱 • レンダリング等良くなりそう • インテグレーションが現段階では大変

6.

なぜUnityを使うのか? • • • • • • 5 大規模マップが作れる! Gazeboに比べて軽量 Asset Store が利用できる レンダリングがキレイ VRとのインテグレーションもできそう…! Unity触ってみたい Unity + ROS で Virtual Tsukuba Challenge をやると面白そう!

7.

vtc_unity の概要 Unity 6 Rviz,rqt

8.

パッケージ構成 7 vtc_unity vtc_world_unity 統合パッケージ sensors_unity unit04_unity 環境パッケージ センサパッケージ ロボットパッケージ 点群から生成 つくば市役所周辺 公園はUpdate中! • • • • • • 3D LiDAR RGB Camera IMU (6 Axis) • • ROS# を利用 URDFから作成可能 環境・センサ・ロボット 自由に組み合わせ可能!(※ROS1 の利用が前提)

9.

環境データの構築 Point Cloud Data 約1,400万点 by 防衛大学 冨沢研究室(Stencil 2.0) 8 Blender (≥2.8) メッシュ化 less than 10,000ポリゴン モデル化 オブジェクト配置

10.

ロボットモデルの構築 9 • テクスチャ • 衝突モデル • Joint設定 URDF (Unified Robot Description Format) • xml記法のファイル • あらゆるプログラムが参照 API[1] は自動生成 • 質量情報 は手動生成 • センサモデル [1] https://github.com/siemens/ros-sharp/wiki/User_App_ROS_TransferURDFFromROS

11.

センサモデルの構築 10 sensors_unity[2] 3D LiDAR 6Axis IMU RGB Camera RGBD Camera 2D LiDAR・Wheel Odometry は近日実装予定 Inamura, T et. at. al [3] Figure.3 より引用 [2] https://github.com/Field-Robotics-Japan/sensors_unit [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.

12.

UnityとROSの通信 11 通常のトピック通信と同じ Publish/Subscribe rosbridge_server HTTP 複数PC間での通信が可能 websocket Serialize/Deserialize Unityが起動する すべてのOSで起動可能!!

13.

シミュレータ構築の難所(環境づくり) 12 同じ木のモデルでも 計測したものは平たいメッシュを観測している… 上:点群,下:メッシュモデル 木等の複雑形状の計測はどうする? そもそも木の除去も大変!

14.

シミュレータ構築の難所(環境づくり) 13 同じ木のモデルでも 計測したものは平たいメッシュを観測している… 上:点群,下:メッシュモデル 木等の複雑形状の計測はどうする? そもそも木の除去も大変!

15.

シミュレータ構築の難所(環境づくり) 単純化(手動)した領域 まだ単純化 していない領域 点群 三角メッシュ化(再近傍) メッシュの単純化 大事な処理のほとんどが手動…とても大変…orz 14

16.

シミュレータ構築の難所(通信) 15 Publish/Subscribe rosbridge_server Serialize / Deserialize でJSON(Text)に変換… HTTP websocket Serialize/Deserialize 通信速度が下がる原因に

17.

シミュレータ構築の難所(LiDAR) VTC on Unity 平面プレート の形状を観測… 16 • 通信速度が遅い(前述) • 葉っぱなどのモデルが単調 • レーザー強度モデル無し VTC (UE4) by fuRo • 通信速度が速い(並列処理) • レーザー強度モデル有り[4] [4] 吉田 智章, 原 祥尭, “移動ロボットシミュレータにおける 3D Lidar の受光強度シ ミュレーション”, ROBOMECH 2020, 2020.

18.

今後のUpdate(予定) 17 vtc_world_unity(環境) • 公園エリアの作りこみ • 各種Objectの配置 sensors_unity(センサ) • • • • レーザー強度(LiDAR)の実装 ノイズの付加 GPSセンサの追加 通信規格の修正・軽量化 更新内容は Twitterにて公開! @RyodoTanaka unit04_unity(ロボット) • URDFからのモデル作成方法マニュアルの追加 その他 • NPCの追加 • オンラインNPC・ロボットの追加

19.

公開場所(LICENSE : Appache 2.0) vtc_world_unity(環境) https://github.com/Field-Robotics-Japan/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お願いします! 18

20.

今後の展望と募集 19 • VRを使ってWorldの中に入りたい! • Assetを増やしてリアルな街をもっと作りこみたい! • NAT超えで複数人・複数台オンラインシミュレーションしてみたい! • 重機のシミュレーションもやってみたい! ⇒ Mogu Live : https://www.moguravr.com/cluster_repo/ https://arav.jp/ Vortex Simulator : https://www.youtube.com/watch?v=TkiekFf5970 ゲームエンジニアの方大募集中!!!