hakoniwalab-envsim-plateau

-- Views

December 16, 25

スライド概要

# 概要

本資料は、国土交通省が整備・公開している PLATEAU(3D都市モデル) を活用し、
ドローンシミュレーションに必要な 「見える都市」と「当たる都市」 を構築するための、
実践的なデータ処理パイプラインを解説するものです。

都市空間におけるドローンの飛行は、建物や地形といった都市構造によって強く制約されます。
そのため、シミュレーションにおいても、

- 人が理解・確認できる 3D可視化モデル
- 衝突判定や距離計測に用いる 都市干渉データ

の両方を、同じ都市データから一貫して生成することが重要になります。

本資料では、PLATEAUが提供する CityGML を起点に、

1. Unity(PLATEAU SDK for Unity)を用いた都市3Dモデルの生成
2. glTF/GLB形式への変換による、Unity外ツール(three.js / Panda3D 等)での再利用
3. Pythonツールチェーンによる、MuJoCo向け都市干渉データ(MJCF)の生成

という一連の流れを、具体的なツール構成と実行例を交えて説明します。

目的は、単なる可視化やデータ変換ではなく、
「飛べる・当たる・計測できる」都市環境を、再現性のある形で構築することです。

PLATEAUによって既に整備された日本の都市データを、
ドローンシミュレーションという実践の場でどう活かすか。
その設計思想と実装方法を共有することを、本資料のゴールとしています。

profile-image

TOPPERS/箱庭WG活動でUnityやらAthrillやらmROSやら触ってます。 最近は仕事の関係でWeb系の技術に注力しつつ、箱庭への転用を模索しています。 2023年8月1日:合同会社箱庭ラボに移動しました

シェア

またはPlayer版

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

ダウンロード

関連スライド

各ページのテキスト
1.

環境シミュレーション 都市データ(PLATEAU)編 合同会社箱庭ラボ CTO 森崇

2.

本資料の目的 都市データから 「飛べる・当たる・計測できる」 シミュレーション環境を作る方法を示すこと。 本資料では、都市データは、PLATEAUを利用する。 →日本の都市、特に東京23区は すでにすべて揃っている。 2

3.

アジェンダ • 設計:都市データとは何者か • ドローンシミュレーションにおける都市データの位置付け • 素材:データを取る • PLATEAUデータの取得方法 • 可視化:見える形にする • PLATEAUデータから3Dモデルの抽出方法 • 干渉:当たる形にする • PLATEAUデータから都市干渉データを取得する方法 3

4.

設計:都市データとは何者か • ドローンが、荷物を配達することを考えましょう。 • どのルートを飛んで、どこに配達するか。 • その飛ぶ先には、ビルや建物が必ずあります。 • つまり、ドローンの行動は、都市の構造によって常に制約されます。 • ドローンシミュレーションで、それを事前に検証する。 • その価値は言うまでもありません。 • そして、日本の国土 • 都市データはPLATEAUが整備してくれている。 • これを利用しようということです。 • 利用するものはたった2つです。 • 3Dモデル • 人が理解し、ルートや状況を把握する 3Dモデル • 都市干渉データ • ドローン配送が成り立つか検証する 都市干渉データ 4

5.

素材:データを取る • こんなプロセスです。 PLATEAUの公式サイトに行く 都市を選ぶ https://www.mlit.go.jp/plateau/open-data/ (都道府県・市区町村単位で選択) CityGMLをダウンロードする 5

6.

可視化:見える形にする CityGMLデータからUnityを使って3Dモデルを生成し、GLB形式で出力する PLATEAU SDK for Unity をインストーする CityGMLから都市範囲選択 3Dモデルをインポートする https://assetstore.unity.com/packages/tools/utilities/ plateau-sdk-for-unity-245703 Unity glTFast をインストールする GLBファイルへ変換する three.js /panda3dでの利用を想定 「Window > Package Manager」 を開き、+ボタンから 「Add package by name...」を選び、 com.unity.cloud.gltfast を入力して追加 ※ GLBは glTF のバイナリ形式であり、 ※ 軽量かつ実行時ロードに向いています。 GLB形式にすることで、 Unity以外のエンジンやツールでも再利用できます。 6

7.

干渉:当たる形にする ダウンロード/解凍したCityGMLを入力してPythonでMuJoCoの干渉データに変換 hakoniwa-envsim をクローンする 干渉データ抽出の 範囲を決める ・中心の緯度経度(Unityで選択したもの) ・north/south half-size (単位:メートル) ・east/west half size (単位:メートル) north/south half-size east/west half-size 干渉データを抽出する 実行例: $ bash ./conv.bash \ 13113_shibuya-ku_pref_2023_citygml_2_op ¥ test-shibuya ¥ 35.6625 139.70625 ¥ 500 500 : [INFO] Total buildings: 10213 [INFO] Global z-offset = -13.559957 (min z = 13.559957) [INFO] Using ENU -> MJCF (X=North, Y=East, Z=Up) transform. [OK] Saved MJCF → test-shibuya.xml 7