2017.07.04

Navio2 + ラズパイ3モデルB セットアップ

ArduPilot がサポートしているフライトコントローラーの1つに Navio2 があります。今回は Navio2 + Raspberry Pi 3 Model B の組み合わせで最小セットアップで Mission Plannner に接続するまでの方法をご紹介します、、、

用意したパーツはこちら。

  • Navio2
  • Raspberry Pi 3 Model B

まずは、これらを組み合わせます。

次に Raspberry Pi に読み込ませる OS (Emlid Raspbian) イメージを書き込んだSDカードを作成します。Emlid > Navio2 docs > Raspberry Pi configuration に公式の手順がありますので、そちらも参照してください。

  1. Raspberry Pi にセットする SD カードを用意する。
    (フォーマットされていなければ、フォーマットしてください)
  2. OS (Emlid Raspbian) イメージをダウンロードする。
    (ダウンロードのリンク先は Emlid > Navio2 docs > Raspberry Pi configuration ページ内にあります)
  3. SDカードにOSイメージを書き込む。
    (私は公式手順に記載のある Etcher というソフトを使いました)
  4. 書き込み完了した SD カードを Raspberry Pi にセットする。

OS の準備が終わったら、Raspberry Pi を起動し、ArduPilot フライトコントローラーのサービスを起動します。

  1. Raspberry Pi の LAN ポートに LAN ケーブルを接続し、インターネット通信ができるようにする。
  2. Raspberry Pi の電源を ON にする。
  3. 同一ネットワーク内の PC から、ssh で接続する(接続先:navio.local, ID/PASS:pi/raspberry)
    (ssh クライアントはお好きなものをご利用ください。私は TeraTerm を使いました)
  4. 接続完了すると、STEP1-4の手順が表示されます。フライトコントローラーのサービスを手動で起動するために STEP1-3 を実行してください(※実行するコマンドは、画面上に表示されています。そちらを実行してください。下記は、補足・参考程度にご確認ください)
    1. STEP1 では、起動するサービスのタイプを設定します。例えば、マルチコプターの場合は、xxxx arducopter を実行し、次にフレームタイプ(quadなど)を選択してください(画面上の指示に従って番号を入力すればOKです)。
    2. STEP2 では、GCS でつなぐ先のIP、プロトコル、ポート番号などを設定します。Mission Planner で接続する場合は、Mission Planner がインストールされている PC の IP アドレスを使って設定してください。とりあえず動作確認としては、テンプレートに沿って IP アドレスだけ変更し 「udp:xxx.xxx.xxx.xxx:14550」としておけばいいでしょう。
    3. STEP3 では、変更した設定を反映し、フライトコントローラーのサービスを起動します。マルチコプターの場合は、xxxx arducopter を実行してください。

これで準備が整いました。PC の Mission Planner から STEP2 で設定したプロトコル・ポート番号(テンプレート通りであれば、udp/14550)で接続できるはずです。

もし、接続できない場合は、以下を1つずつ確認してみてください。

  • Mission Planner で接続中ダイアログが表示されたままの場合は、セキュリティソフトのファイアーウォールで遮断されている可能性があります。一時的にファイアーウォールを無効にする、設定したプロトコル/ポート番号での通信を許可するよう設定するなど、PC のファイアーウォールの設定を見直してみてください。
  • Raspberry Pi 上で「systemctl status arducopter」を実行し(マルチコプターの場合)、フライトコントローラーのサービスが正常に起動しているかどうか確認してみてください。active (running) の表示があれば正常に起動しています。起動に失敗している場合は、STEP1-3をやり直してみてください。

以上です。Mission Planner から接続できたでしょうか?
現在は手動でサービスを起動していますが、常時 arducopter を起動させたい場合は、STEP4 を実行し(enable)、Raspberry Pi 電源 ON 時にフライトコントローラーのサービスが自動起動されるようにするといいでしょう。

最後に2点だけ、追加補足しておきます。上記、動作確認できたら、やっておくといいでしょう。

  1. OS システムアップデート
  2. Raspberry Pi 上で「sudo apt-get update && sudo apt-get dist-upgrade」を実行し、OS (Emlid Raspbian)のアップデートをしておきましょう。

  3. 無線接続
  4. 上記では有線 LAN でしたが、Raspberry Pi Model 3 では Wifi が搭載されています。Raspberry Pi 上で「sudo bash -c "wpa_passphrase SSID password >> /boot/wpa_supplicant.conf」(SSID, password は各自のネットワーク設定値を入力)を実行し、「sudo reboot」で再起動すれば、無線接続できるようになるかと思います(再起動後、ifconfig などのコマンドで無線接続できているか確認しましょう)

最小セットアップは以上です。
これをベースにさらに便利になるよう各自セットアップしてみてください。