ドローン

電子工作で自作ドローンにチャレンジ!③ArduinoとGPS機能で自動追尾させてみよう

はじめに
前回の記事では自作のドローンに、フライトコントローラーとしてArduinoを搭載する方法をご紹介しました。
今回はさらにドローンに搭載したGPS機能を使うことで、操縦者(自分のスマホ)を自動で追尾するようにしてみましょう!

GPS追尾ドローンの仕組み

ドローンを飛ばす際は以下のことに注意してください。

①重さ200g以上のドローンを飛ばす場合、許可申請が必要になります。また自作ドローンや改造を施したドローンは、改造概要や写真と共に情報を追記して申請を行う必要があります。詳くはこちらからご確認ください。
②他人の所有地で飛行させる場合は必ず許可を取るようにしましょう。
③2.4GHz以外の電波帯を使用する場合は免許や許可が必要になるので注意しましょう。詳しくはこちらからご確認ください。

④2.4GHzの電波帯を使用していても、通信機器に技適マークがついていないものを国内で使用するのは違法になります。筆者が海外在住のため本記事では技適マークのついていないBluetoothモジュールを使用していますが、国内でドローンを飛ばすのであれば必ず技適マークがついていることを確認しましょう。
最後に、ドローン事故の恐ろしさは本体の落下による衝撃だけではありません。高速で回転するプロペラも人や物に被害を与える可能性があるので、ドローンを飛ばす際はひらけた場所で周りに注意して飛ばしましょう。安全第一です!

ステップ1:Bluetoothのセットアップ
※今回使用しているArduinoをフライトコントローラーとして搭載したドローンはこちらの記事で作り方を紹介していますので、参考にしてみてください。
まずBluetoothモジュールを、以下のようにArduinoに接続します。
➢ Vcc(Bluetooth側)-> +5V(Arduino側)
➢ GND(Bluetooth側)-> GND(Arduino側)
➢ TX(Bluetooth側)-> RX(Arduino側)
➢ RX(Bluetooth側)-> TX(Arduino側)

arduinoとbluetoothの接続

arduinoとbluetoothの接続

ステップ2:GPSのセットアップ
ドローンの現在のGPS座標を取得するには、Arduino NanoにGPSモジュールも接続しなければなりません。ドローンの現在の経度/緯度を取得すると、スマートフォンのGPS座標に基づいて追尾できるようになります。ArduinoへのGPSモジュールの接続は、以下のとおりです。
➢ Vcc(GPS側)-> +5V(Arduino側)
➢ GND(GPS側)-> GND(Arduino側)
➢ TX(GPS側)-> Pin 7(Arduino側)
➢ RX(GPS側)-> Pin 10(Arduino側)

ArduinoとGPSモジュールの接続

受信機は、銀色の切り欠きが上面になるように取り付けてください。このとおりにしないと、ドローンのGPSが衛星とつながらず、現在位置を取得できません。

ステップ3:アプリケーションのダウンロード
ドローンに追尾させるには、SensoDuinoというアプリをスマートフォンにダウンロードする必要があります。SensoDuinoは、スマートフォンに内蔵されたセンサーを監視し、各センサーのデータ値をArduinoに送信します。その値が、Bluetoothモジュールを介してドローンに届くというしくみです。アプリは、こちらのリンクからダウンロードできます。ダウンロードする前に、自分のOSが対応しているかどうかを確認しておきましょう。アプリを起動したら、スマートフォンのBluetoothをドローン側とベアリングします。デバイスを検索し、ドローン側のBluetoothモジュールが見つかったらクリックして、パスワード「1234」を入力してください。センサー正面にある「ON」をチェックして「TX」をチェックすると、データがArduinoに送信されます。「LOG」オプションを有効にすれば、センサー値のログも作成できます。

スマホとのペアリング

スマホとのペアリング

ステップ4:Arduinoのプログラミング
Arduino Nanoを、USBケーブルでコンピューターに接続します。コードをアップロードする際には、必ず適切なボードとポートを選択してください。ボードは、左上隅にある「Tools」をクリックして変更できます。

ArduinoをUSBで接続

このリンクからファイルを開いて、コードをArduinoにアップロードします。

フォルダをシステムに展開して、MultiWii.inoファイルを開きます。Arduino IDEでこのファイルを開くと、複数のタブが並んでいます。「config.h」タブを開き、使用するクアッドとセンサーのタイプが書かれている行をコメント解除してください。ここで作っているのはX型のクアッドコプターなので、コメント解除するのは#define QuadXという行です。同じように、IMU(慣性計測装置)を使用する場合は、特定モデルの行をコメント解除する、などとなります。必要な変更が終わったら、コードをArduino Nanoにアップロードしてください。

ステップ5:電源投入
これで電源を投入できます。Arduino Nanoに3.7Vリポバッテリーをつなぎ、次のようにピンを接続します。
➢ +3.7V(バッテリー側)-> Vin(Arduino側)
➢ GND(バッテリー側)-> GND(Arduino側)

電源の接続

これでGPS追尾ドローンの完成です!
追尾させてみよう
このドローンは自律飛行できる状態になっています。電源を入れて、広い場所に置くだけです。動き出すとすぐに、ドローンは操縦者の後ろを飛び始めます。常に一定の距離を保ち、立ち止まるとドローンも停止します。再び動き出せばドローンも動き出すので、背後に注意していてください。

実際に飛ばしてみよう

こちらが実際の飛行の様子です。(画質が悪いのはご愛嬌ということで…)
スイッチを入れて距離を取ると・・・
GPSドローン飛行

GPSドローン飛行

GPSドローン飛行

GPSドローン飛行

GPSドローン飛行
無事に飛びました!
今回は有り物のフレームを使ったため搭載できる重量に限度がありますが、大きめのフレームに回転数の多いモーターを使えば、小型のカメラなどを搭載することもできるはずです。他にもハンズフリーで追従してくれることを活かした使い方を思いついたら、是非試してみてください。

注意
1. GPSモジュールとArduinoの間は、必ずなんらかの絶縁を施してください。そうしないと、2つの基板の回路がショートを起こし、どちらの基板も損傷します。
2. ドローンは必ず、屋外の広い場所で飛ばしましょう。プロペラは人や物に危害を加える恐れがあります。
3. 配線基板の切断は難しい作業です。ケガをしないように、十分に注意して行ってください。
4. 自律型ドローンは、予期せぬ飛び方をすることがあります。そのような事故が起こった場合にもドローンを紛失しないように、常に対策を立てておきましょう。

tello-banner-2
Device Plus編集部

エレクトロニクスやメカトロニクスを愛するみなさんに、深く愛されるサイトを目指してDevice Plusを運営中。

https://deviceplus.jp