
Raspberry Pi ドローン キットは自律飛行できますか?
はい、Raspberry Pi ドローン キットは自律飛行できますが、Pi 自体は飛行を直接制御しません。代わりに、Pixhawk などの別個のフライト コントローラーにコマンドを送信したり、Navio2 などの特殊なボードで ArduPilot ファームウェアを実行したりするコンパニオン コンピューターとして機能します。自律性のレベルは、構成とプログラミングに応じて、単純なウェイポイント ナビゲーションから高度なコンピューター ビジョン ミッションまで多岐にわたります。
コンパニオン コンピュータのアーキテクチャの説明
ほとんどの初心者は、自律型ドローンにおける Raspberry Pi の役割を誤解しています。 Pi はフライト コントローラーに代わるものではありません-。それはフライト コントローラーを拡張するものです。
専用のフライト コントローラーは、安定化、モーター制御、センサー フュージョンといった重要なリアルタイム タスクを処理します。{0} Raspberry Pi は、飛行管制官にどこに行き、何をすべきかを伝える高レベルのソフトウェアを実行します。-このように考えてください。フライト コントローラーはパイロットの手と反射神経であり、Pi は地図を持ったナビゲーターです。
標準的なアプローチでは、シリアル通信経由で Raspberry Pi に接続する、Pixhawk や APM などの ArduPilot{0}} 互換のフライト コントローラを使用します。このセットアップにより、ArduPilot フライト コントローラーは、適切な構成を通じて Raspberry Pi バリアントと連携して動作できるようになります。
代替アーキテクチャでは、Raspberry Pi に直接スタックされる Navio2 や Navigator などのボードが使用されます。これらのシステムは、ArduPilot ファームウェアを別個のマイクロコントローラーではなく Linux 上で直接実行します。しかし、専門家らは、Navio2 ベースのドローンは、特に自律ミッションの場合、バグが多い可能性があり、Pixhawk の代替品の約 2 倍のコストがかかると報告しています。
「自律」とは実際には何を意味するのか
「自律」という用語は、単一の機能ではなく、さまざまな機能をカバーします。
基本的な自律性: 事前にプログラムされたミッション-
基本レベルでは、自律飛行とは、ドローンが事前に設定された座標をたどり、エリアをスキャンして帰宅するウェイポイントミッションを実行することを意味します。 Mission Planner や QGroundControl などのソフトウェア ツールを使用すると、これらのミッションをグラフィカルに計画でき、DroneKit Python を使用すると、スクリプトを介してプログラムによる制御が可能になります。
単純な自律ミッションは次のようになります。15 メートルまで離陸し、GPS 座標 A まで飛行し、30 秒間ホバリングし、座標 B まで進み、その後着陸します。 Raspberry Pi がこれらのコマンドを開始し、フライト コントローラーが安定性を維持しながらコマンドを実行します。
中間の自律性: センサー-に基づく決定
次のレベルでは、障害物検出用に LiDAR などのセンサーを追加します。これにより、ドローンは障害物を検出した場合の着陸など、{0}}環境データに基づいてリアルタイムの決定を下します-。コンピューター ビジョンを使用した正確な着陸はこのカテゴリに分類され、OpenCV スクリプトが視覚的なマーカーを追跡し、ドローンがターゲットの数センチ以内に着陸するように誘導します。
高度な自律性: AI- 主導のナビゲーション
最も洗練された実装では、Pi のカメラと TensorFlow{0}} ベースの物体検出を使用してドローンの動きを制御し、検出された人物の追跡や特定の物体の追跡などのアプリケーションを可能にします。プロジェクトでは、コンピュータ ビジョンを使用して監視エリアにいる人間を検出し、その GPS 座標を基地局に報告することに成功しました。
キット以外に必要なコンポーネント
実際に何が必要かを理解することで、予期せぬ高額な費用がかかることを防ぎます。
コアハードウェアスタック
機能的な自律セットアップには通常、フレームとモーター、フライト コントローラー (Pixhawk または APM)、電子スピード コントローラー、LiPo バッテリー、コンパス付き GPS モジュール、手動オーバーライド用の RC 送信機、カメラ付き Raspberry Pi が含まれます。 -これらの 40 以上のコンポーネントがバンドルされた構成済みキットは、Raspberry Pi を含む完全なパッケージの価格が通常約 1,000 ドルですが、個別のパーツから構築する場合は約 50 ドル節約できます。
重量が重要になります。モーターとプロペラの組み合わせがスロットル 50% で総重量を持ち上げられることをモーター推力テーブルで確認する必要があります。-そうしないと、ドローンは安定した飛行を実現できません。
ソフトウェアエコシステム
ソフトウェア基盤は、フライト コントローラー上で実行される ArduPilot フライト コントロール コード、構成用の Mission Planner や QGroundControl などの地上局ソフトウェア、および Raspberry Pi 上で自律ミッション スクリプトを作成するための DroneKit Python で構成されます。 ArduPilot は、単純な Arduino コードから 100 万行を超えるコードを含む洗練された C++ コードベースに進化し、高度なナビゲーションのためのコンパニオン コンピュータとの統合をサポートしています。
Python が主要ツールとなり、DroneKit などのライブラリが離陸、着陸、位置制御、ウェイポイント実行などの機能用の API を提供します。学習曲線は、基本的なドローンの組み立てと校正、地上局ソフトウェアによるフライト コントローラーの構成、Python プログラミング、Raspberry Pi の Linux システム管理など、いくつかの領域に及びます。
ファームウェアとプロトコルの考慮事項
すべてのフライト コントローラーが完全な自律制御を同等にサポートしているわけではありません。
FPV レーシング ドローンで人気のある Betaflight は、テレメトリ送信のみに MAVLink をサポートしています。つまり、双方向 MAVLink 通信をサポートする ArduPilot や INav とは異なり、ステータス データは送信できますが、受信した飛行コマンドは実行できません。{0}}最近の Betaflight バージョンでは、回避策として MSP オーバーライド モードが導入されましたが、Betaflight での自律飛行の実装は、ArduPilot- ベースのシステムを使用するよりもはるかに複雑なままです。
MAVLink プロトコルは通信バックボーンとして機能し、Raspberry Pi が飛行コマンドを送信し、速度、高度、バッテリー状態、モード情報などのテレメトリ データを受信できるようにします。このプロトコルの標準化により、複数の地上局ソフトウェア オプションが ArduPilot システムと互換的に機能する理由が説明されます。

現実世界の機能と制限-
自律型 Raspberry Pi ドローンは、固有の制約に直面しながらも、特定のタスクに優れています。
実証済みのアプリケーション
成功した実装例には、従来の RC 限界を超えて数千マイルまで範囲を拡張する 4G モデムによる長距離制御、指定されたマーカーに正確に着陸するドローン配送システム、自動ウェイポイント調査を必要とする農業用途などがあります。{0}プロフェッショナル アプリケーションでは、IR-Lock などのセンサーを活用して正確な着陸を実現し、ターゲットから 15 センチメートル以内で一貫した精度を実現します。
技術的な制限
Raspberry Pi アーキテクチャには特有の課題が伴います。 Linux はリアルタイム オペレーティング システムではありません。-そのため、正確なモーター制御のためにタイミングの問題が発生する可能性があります。ただし、処理能力と標準開発環境の利点を上回ることはありません。{2}}さらに、システムは、ファイル システムの破損を避けるために、バッテリ接続後に Linux が起動するまで待機し、電源を切断する前に適切にシャットダウンする必要があります。
GPS- ベースの測位には固有のドリフトが発生し、システムが主に位置制御に加速度計のデータに依存しているため、特に風の強い状況ではホバリングが著しく不安定になります。屋内フライトでは、GPS が利用できないことを補うために、オプティカル フロー センサーやカメラベースのナビゲーションなどの代替測位システムが必要です。{2}}
安全性と法的枠組み
自律飛行には、手動操縦を超えた責任が伴います。
技術的な議論では、手動オーバーライド機能を維持する必要性が常に強調されています。{0}唯一の制御方法として Raspberry Pi だけに頼るべきではありません。 RC 送信機は、自律システムに障害が発生した場合に制御を取り戻すために機能を維持する必要があります。フォーラムの専門家は、自律システムを導入する前に、管轄区域に適用される航空法を検討するようアドバイスします。
信号プロトコルは安全性にとって重要です。 GPIO ピンを単に切り替えるだけでは、適切な制御信号は構成されません。-フライト コントローラーは、Raspberry Pi が正しく生成する必要がある特定の PWM プロトコルを期待しています。信号の実装が不適切な場合、「信号なし」警告が表示され、モーターの起動が妨げられます。これは、ビルダーが GPIO を直接制御しようとするときによく遭遇します。
開発のパスと時間への投資
自律的な能力の構築は、計画に役立つ現実的なタイムラインに従って進められます。
フェーズ 1: 手動飛行 (2 ~ 4 週間)
機械の組み立てから始まり、地上局ソフトウェアによるフライト コントローラーの校正、そして RC 送信機による安定した手動飛行の実現。フォーラムのベテランが指摘しているように、加速度計とジャイロの統合が適切に機能しなければ、ドローンは反転して墜落するだけです。{1}自律機能を試す前に、これらの基本が機能する必要があります。
フェーズ 2: 基本的な自律性 (2 ~ 3 週間)
Raspberry Pi をシリアル通信経由でフライト コントローラーに接続し、DroneKit、MAVProxy、pymavlink などの必要な Python ライブラリをインストールし、離陸、ホバリング、着陸のための簡単なスクリプトの実行を開始します。ソフトウェア シミュレータのセットアップは安全な開発に不可欠であり、ハードウェア クラッシュの危険を冒さずにコード テストを行うことができます。
フェーズ 3: 高度な機能 (進行中)
コンピューター ビジョン、複雑なミッション ロジック、またはカスタム センサーを追加するには、より深い専門知識が必要です。画像処理のための OpenCV の学習、追加のセンサー統合のための通信プロトコルの理解、自律動作のための堅牢なエラー処理の開発に時間を投資することが予想されます。
検討に値する代替アプローチ
自律飛行に至るには、さまざまなトレードオフを伴ういくつかの経路があります。{0}}
DuckieDrone DD24 のような専用の教育キット-は、自律飛行の概念を教えるために特別に設計された第 3 世代のオープン プラットフォームを提供し、学部レベルのカリキュラムとコミュニティ サポートを備えています。- Raspberry Pi Zeroを使用したマイクロドローンのバリエーションは、重量がわずか450グラムであるにもかかわらず、ArduPilotとの互換性と20分の飛行時間を維持しながら、コストを約600ドルに削減します。
高度な開発に取り組む意欲のある人向けに、Raspilot のようなプロジェクトでは、個別のマイクロコントローラーを使用せずに、Raspberry Pi 上で飛行制御を完全に実装し、GPIO ピンを ESC やセンサーに直接接続します。{0}ただし、これには強力な C プログラミング スキルと制御理論の理解が必要です。{0}}
Clover のようなフレームワークは、ROS 統合を備えた事前構成済みの Raspberry Pi イメージを提供することで参入障壁を軽減します。これにより、基本的なアセンブリ シミュレータを使用した後、実際のハードウェアを危険にさらす前に仮想環境でコードをテストできるようになり、シンプルな Python API による制御が可能になります。-

ハードウェアを超えたコスト分析
自律型ドローン プロジェクトを計画する場合は、コンポーネントの価格以上の予算を立てます。
直接コスト
個々のコンポーネントから構築するには通常、必要な機器に 400 ドル -500 ドルが必要ですが、ビデオ マニュアルを含む包括的なキットの費用は約 1,000 ドルです。マイクロ バージョンは約 600 ドルから始まりますが、広範なドキュメントを備えたプロフェッショナル向けの開発キットはフルサイズ バージョンと同様の価格帯になります。
隠れた投資
時間は最大の出費となります。専門家の報告によると、特に Navio2 などのボードで問題のあるハードウェアを選択すると、Pixhawk- ベースのシステムでは発生しないハードウェア レベルの問題のデバッグに何時間も無駄になる可能性があります。{2}ソフトウェアの学習曲線は大きく異なります。-基本的なウェイポイント ミッションには中程度の Python スキルが必要ですが、コンピュータ ビジョン アプリケーションには OpenCV、ニューラル ネットワーク、リアルタイム画像処理の専門知識が必要です。-
トラブルシューティングの経験では、特定のジャンパー ピンが正しく接続されていないと Pixhawk が起動しないという配電の問題などの問題を発見するのに何日も費やしたことが記録されています。これらの学習体験は貴重ではありますが、ドキュメントだけでは十分に準備できない可能性があるため、かなりの時間がかかります。
決定を下す
Raspberry Pi ドローン キットは本物の自律機能を提供しますが、成功するには期待と現実を一致させる必要があります。すぐに使える自律システムを購入するのではなく、適切な構成とプログラミングによって自律化できる開発プラットフォームを購入するのです。---
アーキテクチャは機能します。フライト コントローラーが安定化を処理し、Raspberry Pi がインテリジェンスを処理し、ソフトウェア フレームワークがテスト済みの基盤を提供します。プロジェクトは、単純なウェイポイント ナビゲーションから高度なコンピューター ビジョン アプリケーションまで、あらゆるものを実証することに成功しました。
適合性は 3 つの要素によって決まります。Linux、Python、デバッグの技術的な快適さです。数週間にわたる学習曲線に対応できる時間的余裕。-そして趣味の予算で達成可能な自律性レベルについての現実的な期待。商用ドローン配送会社は、同じ ArduPilot 基盤を使用してテクノロジーが大規模に機能することを証明していますが、エンジニアのチームを雇用しています。-個人プロジェクトの範囲はより控えめになります。
問題は、Raspberry Pi ドローンが自律飛行できるかどうかではありません。彼らは明らかにそれができます。本当の問題は、その自律性を自分で構築し、プログラムする準備ができているかどうかです。
よくある質問
別個のフライト コントローラーを省略して、Raspberry Pi のみを使用できますか?
技術的には可能ですが、ほとんどのビルダーにとっては推奨できません。{0}Raspilot のようなプロジェクトは純粋な Raspberry Pi 飛行制御を実証しますが、強力な C プログラミング スキル、制御理論の深い理解、Linux のリアルタイム制限への細心の注意が必要です。-標準の Pixhawk コンパニオン アプローチは、はるかに信頼性が高く、アクセスしやすいことがわかります。
Python プログラミングについてどの程度知っておく必要がありますか?
基本的な Python の十分性には、関数、変数、ライブラリのインポートの理解が含まれます。{0}DroneKit の API には、複雑な詳細を抽象化する vehicle.simple_takeoff(altitude) などの高レベルのコマンドが用意されています。-コンピュータ ビジョンやカスタム アルゴリズムを必要とする高度なミッションでは、中級から上級の Python スキルが必要です。--
これはGPSのない屋内でも機能しますか?
GPS{0}}衛星信号の損失により屋内では GPS ベースの自律飛行が失敗します-オプティカル フロー センサー、深度カメラ、ビジュアル オドメトリなどの代替測位システムが必要になります。 Clover などの一部のフレームワークは、位置センサーとの統合により、カメラ ベースの屋内飛行を特にサポートしています。{3}
Raspberry Pi を搭載した場合、どのくらいの飛行時間が予想されますか?
飛行時間は総重量とバッテリー容量に大きく依存します。-一般的な 3S LiPo バッテリー 3,000- 6,000 mAh の持続時間はさまざまですが、重量が増加するため、バッテリー容量は飛行時間に比例しません。適切に最適化されたマイクロ ビルドは、1 回の充電で約 20 分を達成します。




