Open-source drone control platform

自分の手で、
ドローンの飛行制御を作る

制御を学び実装し実験するための教育・研究プラットフォーム

教科書で学んだPID・姿勢推定を、シミュレータと実機で「実際に飛ぶもの」へ。設計から解析・教育までを一気通貫で扱えます。

1機 約 $50 重量 37 g 30機 同時飛行 ESP32-S3 / ESKF MIT License
SCROLL
$50
1機あたりの価格
37g
機体重量(軽量・安全)
30
1教室で同時飛行(台数)
400Hz
リアルタイム制御ループ
Built for the classroom

教室で、30機が一斉に飛ぶ

安価・軽量・安全。だから「受講生全員が自分の機体を飛ばす」授業が現実になります。

🛩️

30機を同時飛行

ESP-NOW のチャンネル分離で混信を避け、1教室で最大 30 機を同時運用。受講生全員が自分の機体で実習できます。

💴

1機 約 $50 の低コスト

高価な研究機材は不要。クラス全員分を揃えても導入しやすく、台数を気にせず実験・実習に使えます。

🪶

37 g・安全設計

手のひらサイズの超軽量機体+ダクトガード。屋内・教室でも安全に飛ばせ、初学者の練習に最適です。

End-to-End

設計から教育まで、一気通貫

アイデアを飛行制御として形にし、データで検証し、教材に還元する。研究と教育の両輪を1つのエコシステムで回します。

📐
STEP 01

設計

プラントモデル・カスケード制御・ループ整形を数値で設計。

⚙️
STEP 02

実装

ESP-IDF 上に模範的なC++ファームウェアとして実装。

🛰️
STEP 03

実験

SILシミュレータと実機で飛行試験。同じコードを検証。

📊
STEP 04

解析

テレメトリ・ログをPythonで可視化し挙動を定量評価。

🎓
STEP 05

教育

得られた知見をワークショップ教材へフィードバック。

3D表示には http 配信が必要です。
cd landing && python3 -m http.server で起動してください。
ドラッグで回転 / drag to rotate
The Hardware

手のひらサイズの研究機体

M5Stack StampFly をベースにした超小型クアッドコプター。豊富なセンサを積み、本格的な状態推定・制御を学べます。

  • MCUESP32-S3(M5Stamp S3)
  • IMU / 地磁気BMI270 / BMM150
  • 気圧 / ToF / フローBMP280 / VL53L3CX / PMW3901
  • 姿勢推定ESKF(誤差状態カルマンフィルタ)
  • 通信ESP-NOW + WiFiテレメトリ
  • 重量 / 価格約 37 g / 約 $50
In Action

シミュレータで飛ばす

実機がなくても大丈夫。まずは軽量な VPython で操縦を練習し、物理シミュレータ上で同じ制御コードを安全に検証できます。

操縦訓練(VPython)

実機なしでコントローラ操縦を体験。軽量な3Dシミュレータで飛ばし方を練習できます。

推定器の比較

ESKF と相補フィルタを同条件で並走させ姿勢推定を比較。

ノイズ環境での頑健性

現実的なセンサノイズ下での推定器の優劣を定量化。

What you can do

何ができるのか?

学習から本格的な研究まで。コマンド1つでビルド・書き込み・解析まで完結します。

🎮

シミュレータで練習

実機なしでドローン操縦を体験。制御アルゴリズムの検証にも使えます。

🚀

すぐに飛ばせる

ファームウェアをビルドして実機で飛行。sf flash vehicle -m の一発。

📡

WiFi経由で制御

PC/スマホから takeoff・hover・land などの高レベルコマンドを送信。

🛠️

制御を自作できる

4つの飛行モードを搭載。カスケード制御を学びカスタマイズ可能。

📈

センサーデータを見れる

IMU・気圧・ToF・オプティカルフローをリアルタイム取得。

🔬

実験データを解析できる

ログを記録し、Pythonで解析・可視化。研究にそのまま使えます。

Flight Modes

4つの飛行モード

角速度制御から位置保持まで。カスケード制御の各層を段階的に体験できます。

ACRO

角速度制御

最内ループ。ジャイロのみで角速度をフィードバック制御。

STABILIZE

姿勢角制御

姿勢角をPID制御。スティックを離すと水平に復帰。

ALT HOLD

高度維持

ToF/気圧と鉛直速度で高度を自動保持。

POS HOLD

位置保持

オプティカルフローで水平位置をその場にキープ。

Architecture

責務分離 × Pub-Sub のファーム構成

センサからモータまで各層が責務を分離し、コンポーネント同士は Pub-Sub トピック経由で疎結合。400 Hz のリアルタイム制御ループを支えます。

センサデータ(下から上へ)制御コマンド(上から下へ)
Applicationmain/
Control TaskState MachineConfig (SSOT)Landing Handler
Algorithmsf_algo_*
ESKFSensor FusionPIDControl AllocFilterMath
Servicesf_svc_*
StateCommTelemetryLoggerConsoleControl Arbiter
HALsf_hal_*
BMI270BMP280BMM150VL53L3CXPMW3901MotorLED
HardwareESP32-S3
IMU気圧地磁気ToFオプティカルフローMotor ×4RGB LED
MCUESP32-S3(M5Stamp S3)
フレームワークESP-IDF v5.5.2 + FreeRTOS
姿勢推定ESKF(Error-State Kalman Filter)
通信ESP-NOW + WiFi(テレメトリ)
センサーBMI270 / BMM150 / BMP280 / VL53L3CX / PMW3901
制御周期400 Hz リアルタイムループ
Learn step by step

ワークショップで学ぶ

環境構築から PID 制御による自律飛行まで。8つのレッスンで飛行制御の仕組みを体系的に習得します。

LESSON 1

環境構築

ESP-IDF セットアップ、ビルド&書き込み

LESSON 2

コントローラ入力

ESP-NOW 通信、スティック値の読み取り

LESSON 3

LED 制御

システム状態の可視化

LESSON 4

IMU センサー

加速度・ジャイロデータの取得と理解

LESSON 5

モータ制御

PWM によるモータ個別制御

LESSON 6

姿勢推定

相補フィルタによる姿勢角の算出

LESSON 7

レート P 制御

角速度フィードバックによる安定化

LESSON 8

PID 制御

姿勢角の PID 制御と飛行

さあ、飛ばしてみよう

クローンして install.sh を実行するだけ。sf CLI とシミュレータ依存が一括で入ります。

git clone https://github.com/M5Fly-kanazawa/stampfly_ecosystem.git
cd stampfly_ecosystem
./install.sh