furuharu/drone-furniture-fly-around-dataset-v2
收藏Hugging Face2026-03-27 更新2026-03-29 收录
下载链接:
https://hf-mirror.com/datasets/furuharu/drone-furniture-fly-around-dataset-v2
下载链接
链接失效反馈官方服务:
资源简介:
---
language:
- en
- jp
license: mit
tags:
- robotics
- drone
- navigation
- vision-language-action
- synthetic
- genesis
- openvla
task_categories:
- robotics
pretty_name: Drone Furniture Fly-Around Dataset
size_categories:
- 100K<n<1M
---
# drone-furniture-fly-around-dataset
本データセットは、関西電力KOI×VOLTMIND 生成AIハッカソンで使用しました。
Genesis 物理シミュレーターで自動生成した、ドローン VLA(Vision-Language-Action)学習用合成データセット。
FPV カメラ画像・自然言語命令・ドローン制御アクションの三つ組みで構成される。
---
## データセット概要
室内に配置された3種類の家具(ソファ・アームチェア・木製引き出し)に対して、
PID コントローラーで自動生成した「接近 → 周回 → ホバー」軌跡を記録したデータセット。
OpenVLA 7B の LoRA ファインチューニング用途に設計されている。
---
## データの内容
### 規模
| 項目 | 値 |
|---|---|
| エピソード数 | 300 |
| 総ステップ数 | 約 16000 |
| 記録周波数 | 10 Hz(シミュレーターは 100 Hz、10 ステップに 1 回記録) |
| 画像解像度 | 224 × 224 px (RGB) |
| アクション次元 | 4(学習時に 7D へゼロ拡張) |
### フォーマット
```
dataset/
episodes/
episode_00000.json ← エピソードメタデータ
episode_00001.json
...
steps/
step_000000.jpg ← FPV カメラ画像(JPEG, quality=95)
step_000001.jpg
...
dataset_info.json ← データセット全体の統計情報
```
### カラム説明
#### `episodes/episode_XXXXX.json`
| フィールド | 型 | 説明 |
|---|---|---|
| `episode_id` | int | エピソード連番(0-indexed) |
| `instruction` | str | 自然言語命令 |
| `target_name` | str | ターゲットオブジェクト名 |
| `target_pos` | list[float] | ターゲットの3D座標 `[x, y, z]`(メートル) |
| `success` | bool | エピソードが正常完了したか |
| `steps` | list[dict] | 各ステップのデータ(下記参照) |
#### `steps`(各エピソード内)
| フィールド | 型 | 説明 |
|---|---|---|
| `step_id` | int | 全エピソード通しのステップ連番 |
| `episode_id` | int | 所属エピソードID |
| `image_path` | str | 対応する JPEG 画像のパス(`steps/step_XXXXXX.jpg`) |
| `instruction` | str | 自然言語命令(エピソード内で全ステップ共通) |
| `action_vector` | list[float] | 4次元アクション `[vx_body, vy_body, vz_body, yaw_rate]` |
| `phase` | str | フライトフェーズ(`approach` / `orbit` / `hover` / `done`) |
| `is_first` | bool | エピソードの最初のステップか |
| `is_last` | bool | エピソードの最後のステップか |
| `is_terminal` | bool | 正常終了ステップか |
#### アクション形式(4次元・ドローンボディフレーム)
| インデックス | フィールド | 内容 | 単位 |
|---|---|---|---|
| 0 | `vx_body` | 機首方向の速度(前進) | m/s |
| 1 | `vy_body` | 機体左方向の速度 | m/s |
| 2 | `vz_body` | 上方向の速度 | m/s |
| 3 | `yaw_rate` | ヨー角速度(回転) | rad/s |
> 学習スクリプト(`train.py`)ではゼロ埋めして OpenVLA 互換の 7 次元に拡張されます。
#### `dataset_info.json`
| フィールド | 型 | 説明 |
|---|---|---|
| `n_episodes` | int | 総エピソード数 |
| `n_steps` | int | 総ステップ数 |
| `img_size` | int | 画像解像度(正方形) |
| `action_dim` | int | アクション次元数(4) |
| `action_format` | str | アクション形式の説明文字列 |
| `success_rate` | float | エピソード成功率(0〜1) |
---
## データの取得元(出典)
すべてのデータは **Genesis 物理シミュレーター** で自動生成した**合成データ**です。実世界データは含みません。
| 素材 | 出典 | ライセンス |
|---|---|---|
| シミュレーション環境 | [Genesis-Embodied-AI/Genesis](https://github.com/Genesis-Embodied-AI/Genesis) | Apache 2.0 |
| アームチェア 3D モデル | [modern_arm_chair_01_4k.glb(Poly Haven)](https://polyhaven.com/a/modern_arm_chair_01) | CC0 1.0 |
| ソファ 3D モデル | [sofa_02_4k.glb(Poly Haven)](https://polyhaven.com/a/sofa_02) | CC0 1.0 |
| 木製引き出し 3D モデル | [vintage_wooden_drawer_01_4k.glb(Poly Haven)](https://polyhaven.com/a/vintage_wooden_drawer_01) | CC0 1.0 |
---
## 作成方法
### 収集方法
`scripts/collect_v2.py` によって以下のパイプラインで自動生成:
```
1. オブジェクト選択(3種からランダム)
2. オブジェクトをランダム位置に配置
3. ドローンをランダム位置にスポーン
4. 命令文を 4 テンプレートからランダム選択
5. PID コントローラーでターゲットへ自動接近
6. ターゲット到達後、周囲を一周回る
7. 周回完了後、数ステップホバー
8. FPV 画像・アクション・メタデータを 10 Hz で記録
```
### 命令文テンプレート
| テンプレート |
|---|
| `"Approach the {name}, fly around it, and take photos."` |
| `"Go close to the {name} and circle around it to observe."` |
| `"Navigate to the {name}, then orbit it once while recording."` |
| `"Fly toward the {name} and do a full loop around it."` |
`{name}` には `arm chair` / `sofa` / `wooden drawer` 等のオブジェクト名が入ります。
※ 現状、日本語でオブジェクト名が入っているため、修正が必要です。
### アノテーション方法
アノテーションは**人手なし**。アクションは PID コントローラーが算出したワールド座標系速度を、ドローンのヨー角でボディフレームに変換して自動生成しています。
### シミュレーション設定
| 設定 | 値 |
|---|---|
| シミュレーター dt | 0.01 s(100 Hz) |
| 記録周波数 | 10 Hz |
| 重力 | −9.81 m/s² |
| ドローンモデル | Crazyflie 2x(`cf2x.urdf`) |
| カメラ FOV | 90° |
| 最大速度(接近) | 1.5 m/s |
| 周回角速度 | 2.0 rad/s |
### 前処理内容
- FPV 画像を JPEG(quality=95)で保存
- アクションをワールド座標系 → ドローンボディフレームに変換
- 学習時に 4 次元アクションをゼロ埋めで 7 次元(OpenVLA 互換)に拡張
---
## 想定ユースケース
- **VLA モデルのファインチューニング**(特に OpenVLA 7B + LoRA)
- **ドローンナビゲーションの模倣学習研究**
- **シミュレーターベースのロボット学習のベースライン構築**
- **Vision-Language-Action アーキテクチャの実験・検証**
---
## 注意点・制約
### バイアス
| バイアスの種類 | 内容 |
|---|---|
| **オブジェクトバイアス** | 3種類の家具のみ。他オブジェクトへの汎化は保証されない |
| **軌跡バイアス** | すべて「接近→周回→ホバー」の固定パターン。多様な行動は含まない |
| **環境バイアス** | 単一オブジェクト × 平坦な床面のシンプルなシーンのみ |
| **照明バイアス** | Genesis のデフォルト照明のみ。実世界の照明変動は未考慮 |
| **命令バイアス** | 4 テンプレートのみ。自由文・複雑な命令は含まない |
### 欠損・品質
- エピソードによっては `success=false`(タイムアウト)が含まれる場合がある
- 画像は JPEG 圧縮のため微細なテクスチャ情報に損失がある
- アクション値は PID 制御の近似値であり、物理的に最適な軌跡ではない
### 利用上の注意
- 本データセットは **Genesis シミュレーター内専用**の合成データです
- 実機ドローン制御への直接適用は Sim-to-Real ギャップがあるため非推奨です
- 安全性が求められる用途(実機飛行・人の近くでの運用など)には使用しないでください
---
## ライセンス / 利用条件
**MIT**
使用している 3D モデル(Poly Haven)はすべて CC0 1.0 です。
Genesis シミュレーターは Apache 2.0 です。
---
## 関連リンク
- ファインチューニング済みモデル: [furuharu/openvla-7b-finetuned-drone-furniture-fly-around](https://huggingface.co/furuharu/openvla-7b-finetuned-drone-furniture-fly-around)
- ベースモデル: [openvla/openvla-7b](https://huggingface.co/openvla/openvla-7b)
- Genesis シミュレーター: [Genesis-Embodied-AI/Genesis](https://github.com/Genesis-Embodied-AI/Genesis)
提供机构:
furuharu



