システム構成

SLEIPNIR-ZERO のシステム全体像です。データの流れに沿って、機体側から地上側へ順に説明します。各コンポーネントの詳しい話は末尾の解説記事リンクからどうぞ。

データの流れ

  1. 機体のセンサ(BNO055 IMU、BME280 気圧センサ)が加速度・角速度・姿勢・気圧を計測する
  2. テレメトリ送信機(Raspberry Pi Pico 2 W)が計測値を融合し、BLE で地上へ送信する
  3. 地上の固定カメラが機体を撮影し、画像処理で機体位置を推定する
  4. 地上局 PC がテレメトリとカメラの推定位置を突き合わせ、機体の状態を把握・記録する
システム全体図:機体側(BNO055・BME280・テレメトリ送信機)と地上側(固定カメラ・地上局PC・プロポ)をBLEテレメトリ・撮影・RC電波が結ぶ
システム全体図。機体は計測値を送るだけで、位置は地上のカメラが測る

機体側

アビオニクス基板「ヒコロボ基板」

受信機・マイコン・センサ・サーボの配線を1枚にまとめる自作基板です(KiCad 設計)。核になるのは 4053 アナログマルチプレクサによる操縦系統の切り替えで、プロポの受信機から来る 6ch の信号と、マイコンが生成する制御信号を選択できます。自動制御の実験中でも手動操縦に戻せる構成です。I2C / SPI / アナログのセンサ増設コネクタも備えます。

テレメトリ送信機

Raspberry Pi Pico 2 W(RP2350、デュアルコア Cortex-M33)上で動作します。片方のコアでセンサ(BME280・BNO055)を読み、もう片方のコアで高度・姿勢を融合して、BLE UART(Nordic UART Service)で地上へ送ります。機体状態の目視確認用に WS2812 フルカラー LED も制御します。ファームウェアは自作マイクロカーネル「Shizuku」の上に、センサドライバ・融合・送信がそれぞれ独立したオブジェクトとして載る構成です。

地上側

外部カメラトラッキング

飛行エリアを見渡す固定カメラの映像から機体を検出し、位置を推定します。機体に測位装置を積まないこのシステムの要です。ソフトウェアは開発中で、リポジトリは準備でき次第公開します。

地上局ツール

テレメトリの受信・可視化・記録には Python 製のツール群(BLE UART GUI、テレメトリクライアント、操縦クライアント)を使います。受信したデータは CSV で記録され、飛行後の解析に使えます。テレメトリ送信機のリポジトリの tools/ に含まれています。

リポジトリ一覧

リポジトリ役割
waiteu-git/hikoroboアビオニクス基板(KiCad 設計データ・製造データ)
danfunc/flight_robocon_telemetory_senderテレメトリ送信機ファームウェア(Shizuku カーネル含む)+ 地上局ツール
indoor-plane-tracker外部カメラトラッキング(公開準備中)

解説記事

WordPress Appliance - Powered by TurnKey Linux