3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🚁 箱庭ドローン Atlas:Unityで作る、地味にリアルなドローンの世界

Last updated at Posted at 2025-05-29

Unityでドローンを飛ばす。
それだけなら誰でもできる。(たぶん)
でも──

  • 衝突すると挙動が変わり、
  • 荷物をマグネットで掴み、
  • ジンバル付きカメラで前方を覗き、
  • 3D LiDARで周囲をスキャンし、
  • バッテリーはちゃんと“減って”いき、
  • プロペラは物理制御に連動して回転、
  • ゲームパッドからの操作も、20ms周期で反映される。
  • さらに、Pythonから遠隔操作もできる。

そんな 「地味にリアルな世界」 を、
Unityの中でコツコツ作ってきたのが『箱庭ドローン』です。


このシリーズ『箱庭ドローン Atlas』では、
国産ドローンシミュレータ「箱庭ドローン」で搭載している、
Unityベースの機能群を1つずつ丁寧に紹介していきます。

まずは第1回、全体像から!

🧠 技術的な仕組みに興味がある方は、別記事
👉 箱庭ドローンのアーキテクチャ解説はこちら


✅ 実装されている機能一覧

機能 概要
衝突検出と物理モデル連携 Unityの当たり判定→シミュレータ内部物理モデルと同期
マグネット荷物運搬デバイス ゲームパッド操作でON/OFF、オブジェクト吸着
ジンバル付き前方カメラ ドローンの“目”として操作可能、角度変化に対応
LiDARデバイス AirSim風Raycastスキャン、点群生成可能
バッテリー 出力に応じて電力消費、残量と性能が連動
プロペラアニメーション 回転速度に応じてUnity上でアニメーション再生
ゲームパッド連携 PS4/PS5コントローラで操作、20ms制御周期
Python API連携 外部からのスクリプト制御が可能(遠隔運用や自律制御に応用)

🎬 デモ①:風のシミュレーションと荷物運搬

風シミュ+荷物運搬デモ

こちらは、Python APIで荷物運搬している様子です。
前方50cmに、2m/secの横風が吹いています。ドローンはそれに自動で抗って制御。

この「風にあらがいながら、けなげに荷物を届けようとする」感じが、
とってもけなげで、イケてますよね。


🎮 デモ②:ゲームパッドで自由に操作している様子

風シミュ+ゲームパッド

こちらは、PS4コントローラを使って、手動でドローンを飛行させている例です。

注目ポイント:

  • ドローンが左右に傾いていても、右上のカメラ映像はブレない(ジンバル制御)
  • バッテリー残量はリアルタイムで減少
  • 前方の3D LiDARは障害物を赤くハイライト
  • Unity物理ではなく、箱庭エンジン側が衝突を検出し、制御的に反発

つまり、「見た目はUnity」だけど、挙動は箱庭ドローンエンジンで統合制御されており、
PDU(Protocol Data Unit)という統一通信でやり取りされているのがミソです。


次回は、これらの中からひとつをピックアップして、
実装の仕組み・設計思想・拡張方法を紹介していきます!

お楽しみに!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?