アルデュパイロット

アルデュパイロット
開発者ArduPilot開発チームとコミュニティ
初回リリース2009 (2009年
リポジトリgithub .com /ArduPilot
書かれたC++Python
オペレーティング·システムクロスプラットフォーム
タイプ自動操縦
ライセンスGPLv3
Webサイトardupilot.org

ArduPilotは、マルチロータードローン、固定翼機およびVTOLRCヘリコプターROV、地上探査車、ボート、潜水艦無人水上艦(USV)、アンテナトラッカー、飛行船を制御できる自動操縦ソフトウェアプログラムです。GNU GPLバージョン3に基づき、オープンソースソフトウェアとして公開されています。

ArduPilotはもともと模型飛行機やローバーを制御するために愛好家によって開発され、産業界、 [ 1 ]研究機関、[ 2 ]アマチュア、軍隊 で使用されるフル機能で信頼性の高い自動操縦装置へと進化しました。 [ 3 ] [ nb 1 ]

ArduSubを使用したBlueROV2ダイビング
Ardupilotで飛行するオクトコプター
Ardupilotで飛行するオクトコプター

特徴

ArduPilot ソフトウェア スイートは、車両 ( CopterPlane 、Rover、AntennaTracker、または Sub) 上で実行されるナビゲーション ソフトウェア (通常、マイクロコントローラハードウェア ターゲット用にバイナリ形式にコンパイルされるとファームウェアと呼ばれます)と、Mission Planner、APM Planner、QGroundControl、MavProxy、Tower などの地上局制御ソフトウェアで構成されています。

すべての車両に共通

ArduPilot は、すべての車両に共通する以下の機能を含む、幅広い機能を提供します。

  • 完全自律、半自律、完全手動の飛行モード、3D ウェイポイントを使用したプログラム可能なミッション、オプションのジオフェンシング
  • サードパーティの副操縦士の必要性を排除する安定化オプション。
  • ArduPilot Software in the Loop(SITL)シミュレータを含む様々なシミュレータによるシミュレーション。[ 6 ]
  • RTK GPS の複数のモデル、従来の L1 GPS、気圧計、磁力計、レーザーおよびソナー距離計、オプティカルフロー、 ADS-Bトランスポンダー、赤外線、対気速度、センサー、およびコンピューター ビジョン/モーション キャプチャ デバイスを含む、多数 のナビゲーション センサーがサポートされています。
  • SPII²CCAN バスシリアル通信SMBus経由のセンサー通信。
  • 無線接続、GPS の喪失、および事前定義された境界、最小バッテリ電力レベルの侵害に対するフェイルセーフ。
  • ビジョンベースの測位、オプティカルフローSLAM超広帯域測位による、GPS が利用できない環境でのナビゲーションをサポートします。
  • パラシュートや磁気グリッパーなどのアクチュエータのサポート。
  • ブラシレスモーターブラシ付きモーターのサポート。
  • 写真およびビデオジンバルのサポートと統合。
  • 強力なセカンダリコンピュータ(「コンパニオン」コンピュータ)との統合と通信
  • ArduPilot wiki による豊富なドキュメント。
  • ArduPilot ディスカッション フォーラム、Gitter チャット チャネル、GitHub、Facebook を通じてサポートとディスカッションを行います。

ヘリコプター特有の

  • 飛行モード: 安定、高度維持、徘徊、RTL (Return-to-Launch)、自動、アクロ、自動調整、ブレーキ、旋回、ドリフト、ガイド (および Guided_NoGPS)、着陸、姿勢維持、スポーツ、スロー、フォローミー、シンプル、超シンプル、ADSB 回避。[ 7 ]
  • 自動チューニング
  • トライコプター、クワッドコプター、ヘキサコプター、フラットおよび同軸オクトコプター、カスタムモーター構成など、さまざまなフレームタイプがサポートされています。
  • 従来の電気およびガスヘリコプター、モノコプター、タンデムヘリコプターをサポートします。

飛行機固有

  • フライ・バイ・ワイヤモード、ロイター、オート、アクロバットモード。
  • 離陸オプション: 手による離陸、バンジー、カタパルト、垂直遷移 (VTOL 飛行機の場合)。
  • 着陸オプション: 調整可能なグライドスロープ、ヘリカル、逆スラスト、ネット、垂直遷移 (VTOL 機の場合)。
  • 自動チューニング、JSBSIMX-Plane、RealFlight シミュレータによるシミュレーション。
  • さまざまな VTOL アーキテクチャのサポート: クワッドプレーン、ティルト ウィング、ティルト ローター、テール シッター、オーニソプター。
  • 3 または 4 チャネルの飛行機の最適化。

ローバー固有

  • 手動、学習、自動、ステアリング、ホールド、ガイド付きの操作モード。
  • 車輪付きおよびトラック型のアーキテクチャのサポート。

潜水艦特有の

  • 深度保持: 圧力ベースの深度センサーを使用することで、潜水艦は数センチメートル以内の深度を維持できます。
  • 照明制御: コントローラーを介して海中照明を制御します。

ArduPilotはWiki内に詳細なドキュメントが整備されており、印刷すると約700ページ分になります。ドキュメントは6つのセクションに分かれています。ヘリコプター、飛行機、ローバー、潜水艦といった乗り物関連のサブセクションはユーザー向けです。高度な用途向けの「開発者向け」サブセクションは、主にソフトウェアおよびハードウェアエンジニア向けです。また、すべての乗り物タイプに共通する情報をまとめた「共通」セクションは、最初の4つのセクションにまとめられています。

サポートされているハードウェア

ヘリコプター、飛行機、ローバー、アンテナトラッカー、または潜水艦のソフトウェアは、さまざまな組み込みハードウェア(本格的なLinuxコンピューターを含む) 上で実行され、通常はナビゲーションに使用される周辺センサーに接続された1 つ以上のマイクロコントローラーまたはマイクロプロセッサーで構成されます。これらのセンサーには、マルチローターの飛行と飛行機の安定化に必要な、少なくともMEMSジャイロスコープ加速度計が含まれます。センサーには通常、さらに 1 つ以上のコンパス高度計(気圧)、GPSがあり、オプションでオプティカルフローセンサー対気速度計、レーザーまたはソナー高度計または距離計、単眼カメラ、立体カメラ、または RGB-D カメラなどが追加されます。センサーは、同じ電子ボード上にある場合もあれば、外付けの場合もあります。

車両の動作のプログラミングや監視に使用される Ground Station ソフトウェアは、Windows、Linux、macOS、iOS、Android で利用できます。

ArduPilot は、次のようなさまざまなハードウェア プラットフォームで動作します (アルファベット順にリストされています)。

  • Intel Aero (Linux または STM32 ベース)
  • APM 2.X(Atmel Mega Microcontroller Arduinoベース)、2010年にJordi Munozによって設計されました。[ 8 ] APM(Ardu P ilot Mega は、ArduPilotの古いバージョンでのみ動作します。
  • BeagleBone Blue と PXF Mini (BeagleBone Black ケープ)。
  • Cube は、以前は Pixhawk 2 (ARM Cortex マイクロコントローラ ベース) と呼ばれ、 2015 年にProfiCNCによって設計されました。
  • Edge Archived 2019-04-03 at the Wayback Machine、Emlid が設計したビデオ ストリーミング システムを備えたドローン コントローラー。
  • Erle-Brain はWayback Machineに 2018-05-27 にアーカイブされています、(Linux ベース) Erle Robotics によって設計されました。
  • インテル Minnowboard(Linuxベース)[ 9 ]
  • Blue RoboticsのNavigatorフライトコントローラー
  • Emlidによって設計されたNavio2および Navio+ ( Raspberry Pi Linux ベース) 。
  • Parrot Bebop、および Parrot CHUCK(Parrot, SA が設計)
  • Pixhawk (ARM Cortexマイクロコントローラベース)は、もともとLorenz MeierとETH Zurichによって設計され、2013年にPX4、3DRobotics、ArduPilot開発チームによって改良され、発売されました。[ 10 ]
  • PixRacer (ARM Cortex マイクロコントローラ ベース) は AUAV によって設計されました。
  • Qualcomm SnapDragon (Linux ベース)。
  • Virtual Robotics VRBrain (ARM Cortex マイクロコントローラ ベース)。
  • Xilinx SoC Zynqプロセッサ(Linuxベース、ARMおよびFPGAプロセッサ)。[ 11 ]

上記の基本ナビゲーションプラットフォームに加えて、ArduPilotは、より強力な処理能力を必要とする高度なナビゲーションを実現する車載コンパニオン(補助コンピュータ)との統合および通信をサポートしています。これらのコンピュータには、NVIDIA TX1およびTX2(NVIDIA Jetsonアーキテクチャ)、Intel EdisonおよびIntel Joule、HardKernel ODROIDRaspberry Piコンピュータが含まれます。

歴史

初期、2007~2012年

ArduPilotプロジェクトの始まりは2007年後半に遡ります[ 12 ]。後にクリス・アンダーソンと共に3DRoboticsを 共同設立するジョルディ・ムニョスが、RCヘリコプターを安定させるためのArduinoプログラム(彼はこれを「ArduCopter」と名付けました)を書いたの がきっかけでした。2009年、ムニョスとアンダーソンはArdupilot 1.0 [ 13 ](フライトコントローラーソフトウェア)と、それを実行するためのハードウェアボードをリリースしました。同年、自律飛行可能な従来のRCヘリコプターUAVを製作したムニョスは、第1回Sparkfun AVCコンペティションで優勝しました[ 14 ] 。このプロジェクトは、DIYドローンコミュニティの多くのメンバー、特に2007年初頭にフォーラムベースのコミュニティを設立したクリス・アンダーソンの尽力のおかげで、さらに成長しました[ 15 ] [ 16 ]。

ArduPilotの最初のバージョンは固定翼航空機のみをサポートし、サーモパイルセンサーをベースとしていました。このセンサーは、空と地面の温度差を測定することで、航空機に対する地平線の位置を決定します。[ 15 ]その後、システムは改良され、サーモパイルの代わりに加速度計ジャイロスコープ磁力計を組み合わせた慣性計測ユニット(IMU)が搭載されました。その後、サポート対象は他の車両タイプにも拡大され、ヘリコプター、飛行機、ローバー、潜水艦といったサブプロジェクトが生まれました。

2011年と2012年には、 Andrew "Tridge" Tridgell氏とHALの作者Pat Hickey氏の新たな参加により、オートパイロット機能とコードベースサイズが爆発的に増加しました。Tridge氏の貢献には、Ardupilot、PyMavlink、Mavproxyの自動テストおよびシミュレーション機能が含まれます。Hickey氏は、AP_HALライブラリをコードベースに導入する上で重要な役割を果たしました。HAL(ハードウェア抽象化レイヤー)は低レベルのハードウェア実装の詳細を独立したハードウェアライブラリに導入・限定することで、コードベースを大幅に簡素化し、モジュール化しました。

2012年には、前メンテナーのジェイソン・ショート氏からの要請を受け、ランディ・マッケイ氏がコプターのリードメンテナーに就任しました。また、航空宇宙工学の博士号を取得したダグ・ワイベル氏に代わり、トリッジ氏がプレーンのリードメンテナーに就任しました。ランディ氏とトリッジ氏は現在もリードメンテナーを務めています。

ArduPilotコード開発におけるフリーソフトウェアアプローチは、LinuxオペレーティングシステムやGNUプロジェクト、PX4/PixhawkやPaparazziプロジェクトにおけるアプローチと類似しています。これらプロジェクトは、コストで入手しやすい環境が整えられており、愛好家がマイクロエアビークル小型UAVなどの自律型小型遠隔操縦航空機を開発することができました。同様に、ドローン業界もArduPilotコードを徐々に活用し、プロ仕様のハイエンド自律走行車を開発してきました。

成熟度、2013~2016年

ArduPilot の初期のバージョンでは、APM (ArduPilotMega) フライト コントローラ、つまりArduinoオープン ソース プログラミング言語 (プロジェクト名の「Ardu」の部分はここから来ています) を実行する AVR CPU を使用していましたが、後年はコード ベースがC++で大幅に書き直され、多くのサポート ユーティリティがPythonで記述されました。

2013年から2014年にかけて、ArduPilotは、オリジナルのArduino Atmelベースのマイクロコントローラアーキテクチャを超えて、様々なハードウェアプラットフォームとオペレーティングシステムで動作するように進化しました。まず、PX4、3DRobotics、そしてArduPilot開発チームの共同開発によるPixhawkハードウェアフライトコントローラの商用導入が行われ、その後、ParrotのBebop2、そしてRaspberry PiベースのNAVIO2やBeagleBoneベースのErleBrainといったLinuxベースのフライトコントローラへと進化しました。この期間における重要な出来事としては、2014年半ばにLinux上で飛行機が初飛行したことが挙げられます。[ 17 ]

2014年後半には、主要なオープンソースUAVソフトウェアプロジェクトを統合し、特にArduPilotとPX4プロジェクトの関係と連携を強化するためにDroneCodeが設立ました。ArduPilotのDroneCodeへの関与は2016年9月に終了しました。[ 19 ] 2015年は、ArduPilot開発の主要スポンサーである3DRoboticsにとっても、ArduPilotを搭載した市販のクワッドコプターであるSoloを発表した記念すべき年でした。しかしながら、Soloの商業的成功は実現しませんでした。[ 20 ]

2015 年の秋には、自動操縦装置の歴史において再び重要な出来事がありました。海軍大学院の高度ロボットシステム工学研究所 (ARSENL) チームによって、ArduPilot を搭載した 50 機の飛行機の群れが同時に飛行したのです。

この期間中に、ArduPilot のコード ベースは大幅にリファクタリングされ、初期の Arduino 時代との類似性は完全に失われました。

2018年以降

ArduPilotのコードは進化を続けており、自律航行のための強力なコンパニオンコンピュータとの統合・通信、追加のVTOLアーキテクチャ向けの航空機サポート、ROSとの統合、グライダーのサポート、そして潜水艦とのより緊密な統合をサポートしています。このプロジェクトは、非営利団体Software in the Public Interest傘下のプロジェクトであるArduPilot.orgの傘下で展開されています。ArduPilotは、増加し続ける企業パートナーの支援を受けています。[ 1 ]

UAVアウトバックチャレンジ

2012年、CanberraUAVチームは権威あるUAVアウトバックチャレンジで優勝を果たしました。CanberraUAVチームにはArduPlane Developersが参加し、飛行中の航空機はAPM 2 Autopilotによって制御されました。

2014年、キャンベラUAVチームとArduPilotは、迷子のハイカーにボトルを届けることに成功し、再び優勝を果たしました。2016年には、ArduPilotはより技術的に難易度の高いコンテストで、国際チームの強豪を抑えて優勝しました。

ロシア・ウクライナ戦争

2025年6月、ロシア・ウクライナ戦争中にウクライナ軍はArduPilotを効果的に使用し、117機の無人機でロシアの5つの空軍基地を攻撃しました。これは「スパイダーウェブ作戦」と呼ばれていました。[ 21 ]ゼレンスキー大統領は、各無人機には遠隔で操縦するパイロットが乗っていると述べました。[ 3 ]これはArduPilotを使用してロシアの携帯電話ネットワークを通じて行われました。[ 22 ]

参照

自律航空機制御に関するその他のプロジェクト:

地上車両および運転車両向けのその他のプロジェクト:

注記

  1. ^ ArduPilot開発者行動規範は、ArduPilotの軍事利用を容易にする可能性のある作品の投稿を明確に禁止しています。 [ 4 ]ただし、これはArduPilot開発チームのメンバーにのみ適用されます。ArduPilotがライセンスされているGNU GPLバージョン3の公式FAQでは、ライセンスされたコードの軍事利用を禁止できないと明記されているためです。 [ 5 ]

参考文献

  1. ^ a b「Corporate Partners」 . ardupilot.org . 2018年1月14日閲覧。
  2. ^ Eure, Kenneth W. (2013年12月). 「低コスト慣性航法システムを用いたUAV姿勢推定の応用」(PDF) . NTRS.nasa.gov . NASA/TM–2013-218144.
  3. ^ a bゴッツィ、ローラ(2025年6月2日) 「BBCベリファイ:ウクライナはいかにしてロシア爆撃機に対し大胆な『スパイダーウェブ』攻撃実行したのか」BBCベリファイ
  4. ^ 「ArduPilot開発者行動規範」ardupilot.org . 2018年1月. 2025年7月17日閲覧
  5. ^ 「GNUライセンスに関するよくある質問」 gnu.org 2024年10月 2025年7月17日閲覧
  6. ^ 「SITLシミュレータ(ソフトウェア・イン・ザ・ループ)」 ArduPilot . 2025年6月3日閲覧
  7. ^ 「飛行モード — コプターのドキュメント」ardupilot.org . 2017年5月1日閲覧
  8. ^ 「ArduPilotMega 2.0を歓迎します!」 diydrones.com 2011年12月 2017年5月1日閲覧
  9. ^ Willis, Nathan (2015年10月7日). 「Linuxとドローンの未来 [LWN.net]」 . lwn.net . 2017年5月5日閲覧。
  10. ^ 「PX4と3D RoboticsがPixhawkを発表:先進的でユーザーフレンドリーな自動操縦装置」(プレスリリース)。sUAS News。2013年8月29日。
  11. ^ 「Zynqプロセッサ搭載の初の飛行に成功 - Aerotenna」Aerotenna 2015年10月8日。2017年4月21日時点のオリジナルよりアーカイブ。 2017年5月5日閲覧
  12. ^ "ArduCopter V1 Beta" . forum.arduino.cc . 2007年11月7日. 2017年5月1日閲覧
  13. ^ 「オープンソースの自動操縦装置ArduPilotが発売開始(24.95ドル!) - RC Groups」 www.rcgroups.com 2017年5月8日閲覧
  14. ^ "2009 AVC - AVC.SFE" . avc.sparkfun.com . 2017年5月3日閲覧
  15. ^ a b「ArduPilot」 . ArduPilot.org .
  16. ^ 「ドローンメーカー、オープンソースやDIYコミュニティから支援を受ける - Businessweek」 2013年4月1日。2013年4月1日時点のオリジナルよりアーカイブ
  17. ^ 「Linux上でのArduPilotの初飛行」 diydrones.com 2014年8月20日 2017年5月3日閲覧
  18. ^ 「Dronecode Foundationの紹介」 diydrones.com 2014年10月13日. 2017年5月3日閲覧
  19. ^ 「ArduPilotとDroneCodeが別れる」 diydrones.com 2016年9月9日. 2017年5月3日閲覧
  20. ^マック・ライアン「北米で最も有望なドローン企業3Dロボティクスの破綻の裏側」フォーブス誌2017年5月3日閲覧
  21. ^ "「空飛ぶロボットを作りたかったのではなく…」:ウクライナがオープンソースコードを使って危険なドローンを作ったとして開発者が憤慨。Firstpost 。2025年6月5日2025年8月5日閲覧
  22. ^ヒルトシャー、ヨハネス (2025 年 6 月 3 日)。「Die Softwarehinter Operation Spinnennetz」 [スパイダーウェブ作戦の背後にあるソフトウェア]。Golem.de (ドイツ語)。