Upgrade to Pro — share decks privately, control downloads, hide ads and more …

地上用ドローン試作 ver1.0

地上用ドローン試作 ver1.0

日本では飛行するタイプのドローンを自由に飛ばすことが出来ないこと、自作しようとすると高額になりがち。そこで、地上を走らせるタイプで、Rasberry Pi など手に入り易い市販品で構成したドローンの試作結果をシェアします。

Kohei Nishikawa

June 03, 2021
Tweet

More Decks by Kohei Nishikawa

Other Decks in Programming

Transcript

  1. コンセプト • 飛行ドローンは、日本の法律による規制があり、手軽 に動かすことができないため、規制の無い、地上用ド ローンを取り上げる。 • 部品は市販品を流用すること。 • 組み立てが容易であること。 •

    なるべく安価に済ませること。 • AIを用いた自動運転の実験にも使える設計。 • 機能拡張できる余裕を持っていること。 • 機械学習、自然言語処理、音声認識、クラウドコン ピューティングと連携できること。
  2. 前提 • 小学生が作る場合は、親が一緒であること。 • Raspberry Pi の基本操作を理解している。 たとえば、SSH接続による操作は特に重要。 • パソコンを持っている。

    Windows 10 / Mac のいずれか。 • インターネットに接続可能であること。 • はんだ付けができること。はんだ付けは小学3年生くら いから行うことができる。 • 作業場所が散らかっていないこと • ニッパーやドライバー、はんだごてを別途用意すること。
  3. キャタピラ型 モーター駆動が前に あるので、FF車構成 部品名 販売元 購入価格(円) 備考 カムプログラムロボット工作セット タミヤ 2,390

    ユニバーサルプレートプレートセット タミヤ 359 Raspberry Pi 3 Model B ラズベリーパイ財団 5,775 4でも良い。 USBケーブル (Micro対応) 100均でOK 105 Raspberry Pi に合わせる Explorer pHAT PIMORONI 1,914 ジャンパワイヤ(オス~オス) Sparkfunなど (ど こまでもOK) 454 4本使用。モー タのリード線と はんだ付けし、 Explorer pHATと接続 PG-LBJ34A23BL PGA 2,160 バッテリー (他でも良い) 合計 13,157 1台あたり
  4. 三輪型 後輪代わりにボール キャスターを配置 前輪はタイヤ2つ。 モーター駆動が前に あるので、FF車構成 部品名 販売元 購入価格(円) 備考

    ツインモーターギヤーボックス タミヤ 632 ユニバーサルプレート(2枚セット) タミヤ 510 スポーツタイヤセット(56mm径) タミヤ 437 ボールキャスター(2セット入) タミヤ 275 Raspberry Pi zero WH ラズベリーパイ財団 1,848 USBケーブル (Micro対応) 100均でOK 105 Raspberry Pi に合わせる Explorer pHAT PIMORONI 1,914 ジャンパワイヤ(オス~オス) Sparkfunなど (ど こまでもOK) 454 4本使用。モー タのリード線に はんだ付けし、 Explorer pHATと接続 PG-LBJ34A23BL PGA 2,160 バッテリー (他でも良い) 合計 8,335 1台あたり
  5. モータ制御基板 Explorer pHAT : Raspberry Pi 向け拡張ボード ✓ 60ピンを手動ではんだ付け。 ✓

    本プロジェクト最大の山場。 ✓ Raspberry Pi のGPIOに 装着。 ✓ モータ制御以外に、5vトレラン ト入力なども備える。 トレラント:「電源電圧に関わらず入力端子に5Vまで入れてOK」という設計 Exploere pHATを はんだ付け後、横から見た図 40ピンを はんだ付 20ピンを はんだ付け Exploere pHATを はんだ付け後、上から見た図 表 裏 EXPLORER 20ピン、裏側ではんだ付け 40ピン、表側ではんだ付け
  6. Raspberry Piの セットアップ Explorer pHATをGPIO端子に装着したRaspberry Pi に パソコンから接続し、Raspberry Piに、Explorer pHAT用

    のソフトウェアを導入する。 この時点では、Raspberry Pi は、パソコンやUSBアダプタに 接続して作業を行うこと。 パソコンから、Raspberry Pi にSSH接続を実行 接続先 raspberrypi.local 下記コマンドを実行 $ sudo apt-get update –y && sudo apt-get upgrade -y $ curl https://get.pimoroni.com/explorerhat | bash $ sudo reboot
  7. Pythonによる モータ制御 # coding: UTF-8 import explorerhat import sys while

    True: args = sys.argv # 終了 if args[1] == 'quit': sys.exit() # 停止 if args[1] == 'stop': explorerhat.motor.one.forwards(0) explorerhat.motor.two.forwards(0) # 前進 if args[1] == 'go': explorerhat.motor.one.forwards(60) explorerhat.motor.two.forwards(60) # 後進 if args[1] == 'back': explorerhat.motor.one.backwards(60) explorerhat.motor.two.backwards(60) # 右 if args[1] == 'right': explorerhat.motor.one.forwards(50) explorerhat.motor.two.forwards(75) # 左 if args[1] == ‘left’: explorerhat.motor.one.forwards(75) explorerhat.motor.two.forwards(50) drone-control.py を作成 Node-REDで作成する操作UIから、drone-control.py と コマンドライン引数を使って、モータ制御を行う。 ステアリングがないため、モータ制御で、左折、右折を制御。 Explorer pHATは、2つのDCモータを制御することができる。 • 1つ目のモータの出力制御 : 0~100 直進の場合:explorerhat.motor.one.forwards(0) 後進の場合: explorerhat.motor.one.backwards(0) • 2つ目のモータの出力制御:0~100 直進の場合:explorerhat.motor.two.forwards(0) 後進の場合: explorerhat.motor.two.backwards(0) drone-control.py
  8. Node-REDの導入 $ bash <(curl -sL https://raw.githubusercontent.com/node- red/linux-installers/master/deb/update-nodejs-and-nodered) $ sudo systemctl

    enable nodered.service $ sudo systemctl start nodered.service Explorer pHATを装着したRaspberry Pi にSSH接続して、 以下のコマンドを実行。Node-REDを導入する。 Node-RED導入後、Raspberry Pi を同じネットワーク上に あるパソコンから、以下のどちらかにアクセスする。 http://raspberrypi.local:1880/ http://Raspberry PiのIPアドレス:1880/ パレット管理で、「node-red-dashboard」を追加する。
  9. Node-REDによる 操作UI構築 モバイルバッテリーとRaspberry Pi を接続し、Raspberry Pi を再起動。 Raspberry Piと同じネットワーク上で作業中のパソコンから、 http://raspberrypi.local:1880/ui/

    または、http://Raspberry PiのIPアドレス:1880/ui/ にアクセス Node-RED上に、ダッシュボードノードを使って、drone-control.py を実行する操作 UIを構築。「デプロイ」を実施。 ここでのポイントは、Node-RED上のダッシュボードボタンをタッチすると、Execノード(赤い ノード)にコマンドライン引数を渡し、Execノードで、python3 /home/pi/drone- control.py コマンドライン引数 を実行すること。