Raspberry Piを使ったドローン自作に興味はあるけれど、配線や制御ソフトの不安で踏み出せないという方は多いはずです。
実際には機材選定、電源設計、フライトコントローラとの接続、モーター制御やセンサー統合、ソフトウェア構築など越えるべき課題が山積みです。
本記事では機材準備から初期飛行テスト、ログ解析やトラブルシューティングまで、実践的な手順と推奨スペックを分かりやすく提示します。
具体的には機材一覧、配線設計、MAVLinkやドライバ設定、PIDや姿勢推定の実装まで段階的に解説します。
まずは機材準備から始める実践手順を順を追って紹介するので、続きで詳しいステップを確認していきましょう。
ラズベリーパイを使ったドローン自作の実践手順
ラズベリーパイを搭載したドローンの自作は、ハードとソフトを同時に扱う楽しさがあります。
ここでは、機材準備から初飛行テストまでの実践手順をわかりやすく解説します。
機材準備
まずは必須パーツと工具を揃えて、組み立て時の無駄を減らします。
- ラズベリーパイ本体
- フライトコントローラ
- ブラシレスモータ
- ESC
- プロペラ
- バッテリー LiPo
- IMUセンサ
- 電源分配基板 PDB
- 通信モジュール
- 電気工具と配線材
購入リストは余裕を持って、予備のプロペラや予備のファスナーも用意すると安心です。
電源配線設計
電源設計は安全性とノイズ対策を優先して行います。
バッテリーからESCやラズベリーパイへは、適切な電圧レギュレータまたはBECを挟んで安定化してください。
全ての機器で共通のグランドを取ることを忘れないでください。
太い配線は電圧降下と発熱を抑えますので、モーター供給路は十分なAWGを選びます。
フェーズごとにヒューズやスイッチを設けるとトラブル時の被害を限定できます。
フライトコントローラ接続
フライトコントローラへの接続は、マニュアルに従ってピン配置を確認しながら行います。
ラズベリーパイとはUARTかUSBで接続し、シリアルポートの設定を正しく合せてください。
受信機の接続はS.BusやPWMなどの方式で行い、フタチカラの互換性を確かめます。
取り付け時の向きと振動対策を施して、IMUに不要なノイズを与えないようにします。
モーター制御設定
ESCの初期設定とキャリブレーションは飛行前に必ず行います。
| 項目 | 推奨設定 |
|---|---|
| PWM周波数 | 48kHz |
| ESCモード | 標準ブリッジ |
| スロットルレンジ | 1000 2000 |
| ブレーキ設定 | 無効 |
キャリブレーションはプロペラを外した状態で行い、安全確認を徹底してください。
ソフトウェアでESCの信号方式や方向を確認して、モーター回転が想定通りかチェックします。
センサー統合
IMUやGPSの取り付け位置は機体の中心付近を基本にしますが、磁気センサはモータから離して配置します。
I2CやSPI接続の配線は短くまとめて、クロストークを避けるためにツイスト配線やシールドを活用します。
センサーフュージョンのために時刻同期を取り、ラズベリーパイとフライトコントローラ間でデータの遅延を最小化します。
ソフトウェア環境構築
まずラズベリーパイにOSを焼き、初期設定でSSHと必要なシリアルを有効化します。
MAVLinkルーターやMAVProxyなどのミドルウェアを導入して、フライトコントローラと連携させます。
必要に応じてROSや自律飛行ソフトをインストールして、パイ上で経路生成や障害物検知を動かせるようにします。
自動起動のsystemd設定を作り、再起動後もサービスが立ち上がるようにしておくと現場での手間が減ります。
キャリブレーション
加速度計とジャイロのキャリブレーションは平坦な台の上で正確に行います。
コンパスは屋外で周囲に磁性体がない場所を選んで複数回キャリブレーションしてください。
ESCのスロットル範囲やサーボのニュートラルもキャリブレーションしておくと制御が安定します。
キャリブレーション後はパラメータを保存し、ログで変化がないか定期的に確認します。
初期飛行テスト
屋外での初飛行は風が弱く開けた場所を選んで行ってください。
最初はプロペラを付けずにモータ方向と回転確認を行い、その後低高度でホバリングテストから始めます。
テストは一度に多くのことを試さず、姿勢制御、ホバリング、前進の順で段階的に行います。
ログをリアルタイムで確認し、異常があればただちに着陸させる判断を優先してください。
最後に予備のバッテリーや交換用パーツを用意しておくと、トラブル時の復旧がスムーズです。
必要部品と推奨スペック
ラズベリーパイを中核にした自作ドローンで必要になる主要部品を、用途別にわかりやすく整理してご紹介します。
各パーツは相互に影響し合いますので、バランスを考えて選定するとトラブルを減らせます。
フレーム
フレームは機体の剛性と振動特性に直接影響しますので慎重に選んでください。
軽量で剛性のあるカーボン製が一般的で、振動伝達を抑える設計が望ましいです。
- サイズ 250mm
- 素材 カーボンファイバー
- アーム数 クアッド
- マウント互換性 20mmピッチ
ブラシレスモータ
モータは推力と効率を決める重要部品ですので、KV値と実測推力の両方を確認してください。
一般的には250〜350gの推力を目安に、機体総重量の2倍以上の総推力を確保すると安全です。
小型ドローンなら2300〜3000KVのクラス、大型なら低KV高トルクのモータを選ぶと安定します。
ESC
ESCはモータの応答性と安全性に関わりますので、モータの最大電流より余裕のある定格を選んでください。
24ビット分解能やBLHeli_32対応のESCは滑らかな制御と高い互換性を提供します。
パワーモードやBEC出力を確認し、ラズベリーパイや周辺機器の電源要件に合わせて選定してください。
プロペラ
プロペラは効率とノイズを左右しますので、モータKVと機体重量に適合するサイズとピッチが重要です。
一般には5〜6インチクラスは軽量レーシング向け、9〜12インチは耐空性重視の機体に向いています。
材質はプラスチック製で扱いやすい反面、カーボン製は剛性が高く振動が少ない利点があります。
バッテリー
バッテリーは飛行時間と出力安定性を決めますので、容量と放電レートのバランスを重視してください。
| 種類 | 容量 | 電圧 | 放電レート |
|---|---|---|---|
| LiPo | 1500mAh | 11.1V | 75C |
| LiPo | 2200mAh | 14.8V | 60C |
| LiIonパック | 3000mAh | 14.8V | 20C |
容量が大きいほど飛行時間は伸びますが、重量増で効率が落ちるため総合評価が必要です。
フライトコントローラ
フライトコントローラは姿勢制御とセンサ統合の中枢ですので、CPU性能と入力端子を確認してください。
PixhawkのようなオープンなプラットフォームはMAVLink連携が容易で、自律飛行実装に向きます。
ESCやIMUとの互換性、外部コンパスやGPSの接続数を考慮して選定してください。
ラズベリーパイ本体
ラズベリーパイは画像処理や上位制御を担うため、CPU性能とメモリを重視してください。
リアルタイム性が必要な処理はフライトコントローラ側で行い、ラズベリーパイは高負荷なタスクを担当するのが安全です。
モデルは性能と消費電力のバランスからRaspberry Pi 4 2GB以上を推奨しますが、軽量構成ならPi Zero 2 Wも検討可能です。
通信モジュール
通信モジュールは操縦とテレメトリの安定性を左右しますので、用途に合わせて選んでください。
短距離のテレメトリには915MHzや433MHzのシリアルラジオが信頼性高く、長距離や映像送信には4GルータやWi Fiアクセスポイントが便利です。
MAVLink対応の通信手段を用意すると、地上局との連携がスムーズになります。
IMUセンサ
IMUは姿勢推定の基礎となるため、3軸ジャイロと3軸加速度計を統合した高精度なセンサを選んでください。
ICM20948やBMI088のような高性能IMUはノイズ特性が良く、フィルタ設計を楽にします。
振動や取り付け位置により値が変わりますので、実機でのキャリブレーションを必ず実施してください。
ソフトウェア構成と設定手順
ここではラズベリーパイを搭載したドローンで必要となるソフトウェアの構成と、実際に設定する手順を分かりやすく解説します。
OSの書き込みから自律飛行ソフトの導入まで、実務で役立つ注意点を交えて説明します。
OSイメージ書き込み
まずはラズベリーパイ用のOSイメージを公式サイトから入手してください。
推奨はRaspberry Pi OSのLite版で、GUIは不要な場合に容量とリソースを節約できます。
書き込みにはRaspberry Pi ImagerかbalenaEtcherを使うと簡単です。
イメージをSDカードに書き込んだ後は、SSHを有効化し、必要ならWi‑Fi設定ファイルを追加しておくと初回起動が楽になります。
書き込み後はチェックサムを確認し、データ破損がないことを確かめてください。
ネットワーク設定
ラズベリーパイを遠隔操作やテレメトリ送信に使うため、最初に安定したネットワーク環境を整えます。
- wifi 設定ファイル配置
- 固定IP または DHCP予約
- SSH 公開鍵認証設定
- ポート転送 設定
Wi‑Fiよりも可能であれば有線接続を優先してください、通信安定性が大幅に向上します。
現地での接続を容易にするために、ホスト名を分かりやすく変更しておくと便利です。
MAVLink設定
MAVLinkはフライトコントローラとラズベリーパイの通信規格ですので、適切に設定する必要があります。
まずは使用するフライトコントローラのシリアルポート設定を確認してください。
ラズベリーパイ側ではmavproxyかmavlink-routerを用いてシリアルとネットワークの橋渡しを行います。
システムIDやコンポーネントIDは現場で重複しないように管理することが重要です。
データレートやハートビートの頻度は、遅延と負荷のバランスを見ながら調整してください。
ドライバインストール
センサーやカメラなど周辺デバイスごとに必要なドライバを揃えます。
特定のデバイスはカーネルモジュールのビルドが必要になるため、事前にビルド環境を整えてください。
ドライバのインストールはaptによる公式パッケージがある場合は優先して利用しましょう。
ここでは代表的なドライバと導入方法を一覧で示します。
| ドライバ | 導入方法 |
|---|---|
| RealSense | librealsense ビルド |
| PX4Flow | u‑dev ルール設定 |
| UAVCAN | Canhub インストール |
| USBカメラ | v4l2 ドライバ確認 |
ドライバによってはカーネルバージョン依存があるため、導入前に互換性を確認してください。
自律飛行ソフト導入
自律飛行にはArduPilotかPX4のどちらかを選ぶのが一般的です。
ラズベリーパイはコンパニオンコンピュータとしてROSとmavrosを動かす構成が相性が良いです。
まずはシミュレーション環境で動作確認を行い、GazeboやJMAVSimで挙動を検証してください。
実機導入時はパラメータのバックアップを取り、段階的に制御を切り替えて安全確認を行いましょう。
起動時に自動で立ち上がるようにsystemdユニットを作成すると運用が安定します。
最後にログ出力とリモート監視の設定を行い、飛行中のトラブル発生時に速やかに解析できる体制を整えてください。
飛行制御と制御アルゴリズム実装
ここではラズベリーパイを中心にしたドローンの飛行制御と、実装すべき代表的な制御アルゴリズムについて解説します。
ハード面の組み立てが終わった後に最も重要になる領域で、ソフトウェアとセンサーを融合させる工程です。
PID制御
PID制御はドローン姿勢制御の基礎であり、まずは軸ごとにシンプルなPIDループを動かして安定化を図ります。
ラズベリーパイ上で実行する場合は、制御周期と遅延を考慮してリアルタイム性を確保することが重要です。
以下はロール、ピッチ、ヨーそれぞれの初期ゲイン例で、微調整は実機で行ってください。
| 軸 | 初期P I D | 説明 |
|---|---|---|
| ロール | P 0.15 I 0.02 D 0.003 |
横揺れの安定化 |
| ピッチ | P 0.16 I 0.02 D 0.003 |
前後傾きの安定化 |
| ヨー | P 0.10 I 0.01 D 0.001 |
回転方向の制御 |
テーブルの数値は機体重量やモーター特性で大きく変わるため、実機でスイープテストを行い最適化してください。
ゲイン調整はまずPを上げて応答を見てから、Iで定常偏差を詰め、Dで振動を抑える順が一般的です。
姿勢推定
正確な姿勢推定ができなければ良い制御は実現しません。
IMU(加速度計とジャイロ)を中心に、気圧計や外部センサを融合してドローンの姿勢を推定します。
単純な補完フィルタは実装が容易で、動作負荷も小さいためラズベリーパイ入門には適しています。
一方で拡張カルマンフィルタやUKFは精度が高く、センサノイズや外乱に強いという利点があります。
実装の際はセンサのサンプリング同期とタイムスタンプ管理を怠らないでください。
経路追従
経路追従は目的地へ向かうための制御で、ウェイポイントの設定とそれに対する追従制御が中心です。
速度プロファイルを考慮したPIDや、より高度な場合はモデル予測制御(MPC)を用いると滑らかな軌跡が得られます。
航法にはMAVLinkを介した目標送信や、独自プロトコルでのコマンド実装が考えられます。
屋外運用ではGPSの精度低下やマルチパスを考慮し、補助的なビジョンやSLAMを組み合わせると安定します。
障害物回避
近年はリアルタイムでの障害物検知と回避が重要になっています。
センサフュージョンで周囲情報を集め、即時の回避判断を行う構成が一般的です。
- ステレオカメラ搭載
- LIDARセンサ利用
- 超音波センサによる近距離検知
- 深度推定および経路再計画
アルゴリズムとしては、反応型のベクトル場ヒストグラムや、経路探索と組み合わせたAスターのリアルタイム版が有効です。
実装時はセンサの視野と検出レンジ、更新頻度を考慮して、回避動作の安全性を評価してください。
フェールセーフ
故障や通信断に備えたフェールセーフは必須です。
バッテリー低下時の自動帰還、通信途絶でのホバリング、または安全着陸といった機能を実装してください。
複数レベルのフェールセーフを設けることで、単一点故障で墜落するリスクを下げられます。
ログを詳細に残し、障害発生時の再現と原因解析ができるようにしておくと調査が楽になります。
事前にシミュレータ上でフェールシナリオを試験し、実機では段階的に検証する運用を推奨します。
テスト計測とトラブルシューティング
ここでは飛行前後に行うべきテスト項目と、問題発生時の切り分け手順を実践的に説明します。
安全確保を第一に、段階的に確認していくことで時間とコストを節約できます。
動作確認手順
作業は屋内の広い場所か屋外の無人エリアで行ってください。
電源投入順とケーブル接続を統一して、接触不良を未然に防ぎます。
以下の簡易チェックリストに沿って段階的に確認してください。
- フライトコントローラ初期化
- ESCキャリブレーション
- モーター回転方向確認
- バッテリー電圧チェック
- センサーキャリブレーション
まずプロペラを外した状態でモーターのアイドリングを確認します。
次に低スロットルで各モーターの回転を短時間だけ試験し、振動やクロックノイズの有無を確認します。
RCスティック入力とフライトコントローラの反応を合わせて、スティック割り当てのズレがないかチェックしてください。
最後にプロペラを装着して静止ホバリングで挙動と温度上昇を監視します。
ログ解析
ログは問題の原因を特定する最も確実な手段ですので、必ず取得して保存してください。
ログ解析にはQGroundControlやMission Plannerのビルトインツール、あるいはPythonで解析する方法が有効です。
| ログ項目 | 確認ポイント |
|---|---|
| IMU加速度 | オフセットとノイズ |
| ジャイロ | バイアスとドリフト |
| モータ出力 | サチュレーションと応答遅れ |
| バッテリー電圧 | 電圧降下とセル不均衡 |
| GPS | 精度とデータ断 |
解析時はまずセンサーデータの外れ値と飛びを探し、その時間帯で他の信号に相関がないか確認します。
例えば加速度の周期的ピークがモーター回転と一致している場合、振動が疑われます。
ログから回転数と電流の関係を確認すれば、モータやESCの不具合や負荷過多を判別できます。
振動対策
振動はセンサー誤差や機体の不安定化の主因なので、早期に対処してください。
まずプロペラのバランスを必ず取り、軽微な不均衡でも影響が出ることを理解してください。
振動吸収用のソフトマウントやゴムダンパーでフライトコントローラを物理的に隔離するのが効果的です。
フレームの剛性も重要で、たわみがあると共振を助長します。
ES Cとモーターの取り付けネジを均等に締め、緩みがないか定期点検してください。
フィルタリングも有効で、IMUのローパスフィルタやソフトウェアのノッチフィルタを適切に設定します。
ただし過度なフィルタは制御遅延を招くため、ログで効果を確認しながら調整してください。
通信断対策
通信が途切れると自律フェイルセーフが作動するため、まずフェイルセーフの設定を確認してください。
テレメトリモジュールやRCリンクの送受信強度を事前に計測し、アンテナの向きと設置位置を最適化します。
干渉源の有無を調べるために周辺の無線機器やWi Fi環境をチェックしてください。
高信頼性が必要な用途では冗長リンクの採用を検討し、自律復旧のスクリプトを用意します。
通信ログを参照してパケットロスの発生タイミングを特定し、帯域や更新レートの見直しを行ってください。
最後に現場での簡易試験を何度か行い、通信断発生時に機体が想定どおりの動作をするか確認します。
バッテリー診断
バッテリー不良は飛行中断や火災リスクに直結するため、定期的に診断してください。
使用前には電圧とセルバランスを目視と計測器でチェックする習慣をつけてください。
電流負荷をかけたときの電圧降下を測定し、内部抵抗が規定値を超えていないか確認します。
容量低下が疑われる場合は、放電テスターで実測容量を測り、メーカー公称値と比較してください。
フライトログの電圧推移を解析すれば、実際の飛行中の挙動が把握できます。
安全のために老朽化したセルは早めに交換し、専用の保管器具で保管してください。
万が一異常発熱や膨張が見られる場合は、直ちに使用を中止し専門業者へ相談してください。
実践に移すためのチェックリスト
実際にラズベリーパイ搭載ドローンを組み立てる前に、機材からソフトまでの要点を一つずつ確認しておくと、安全で効率的に作業が進みます。
以下のチェックリストを順に確認し、特に電源配線と安全機構は飛行前に再点検してください。
トラブル時の対応手順も用意しておくと安心です。
- フレームの状態とねじの締め付け
- モーター回転方向とESCのキャリブレーション
- バッテリー電圧とコネクタの健全性
- 電源配線の絶縁と電流容量の確認
- フライトコントローラとラズベリーパイの通信確認
- IMUとコンパスのキャリブレーション
- ソフトウェアバージョンと依存関係の整合性
- フェールセーフ設定とRTLなどの動作確認
- 初期ホバリングでの安全範囲と着陸地点の確保
- ログ保存先とリカバリープロシージャーの用意

