PySpaという名の思念体

# PySpaとは

お酒の飲めない泊まりがけで、ご飯をみんな揃って食べて、温泉に浸かるだけののイベント。それがPySpaです。ソレだけど時間が余るので勝手に参加者がいろいろやっている。どんないろいろあ有ったのかはこのアドベントカレンダーのそこかしこで書かれている。私が思うのは、PySpa＝総合思念体。

```
情報統合思念体。
肉体を持たない超高度な知性を持つ情報生命体である。
それは最初から情報として生まれ、情報を寄り合わせて
意識を生み出し、情報を取り込むことによって進化してきた。
実体を持たず、ただ情報としてだけ存在するそれは、
いかなる光学的手段でも観測することは不可能である。
それは、時間とともに拡大し情報系を広げ巨大化しつつ発展してきた。
```
PySpa自体に目的意識はないが、何がしかひたすら情報が集まり進化というか成長し続けている。そんな感じ。
とは言いつつ、最近はPySpaなOffイベントには全然行けてないです・・・カナシイ
# 主題

本カレンダーは `テーマは自分が好きなものや興味があるものをなんでもいいので書く` ということなので
最近ハマっているドローン（マルチコプター）について書こうと思う。

マルチコプターと言っても、ほんとに色んな種類があってピンきりなんです。空撮とか農薬散布とか実用的なやつから室内用のめっちゃ小さな玩具まで値段も数千円から値付不能な範囲で入手できます。

本エントリーで説明するのは、ドローンレーサーと呼ばれる、何の役にも立たないレースをするだけのめっちゃ速いドローンを説明します。（↓こんな奴、youtubeに落ちてたのを載せてます私ではありません）

[![ドローンレース風景](http://img.youtube.com/vi/omqzXys3AQ8/0.jpg)](http://www.youtube.com/watch?v=omqzXys3AQ8)

# なぜ？

ドローンレース界ってまだまだ立ち上がったばっかりでIT勉強会ほど何時でもやってるわけじゃないしそもそもどこでも飛ばせるものでもない。そんなタイミングだけど思うところとが少し有りまして・・・
ドローンレースやってる人（やりたい人）って、分類できるなぁという気がしています。3レイヤ有って、

- レイヤー1
    - スキルめちゃくちゃ高くて、スポンサー付いててフレームとか売ってないのバリバリ使ってる人
- レイヤー２
    - 時間もお金もめっちゃ投入して仕事のリソースも一部ドローンに割り振ったりしてドハマりしてるセミプロクラス
- レイヤー３
    - カジュアルに楽しみにたいし、スキルも予算もそんなに高くない。ただやりたい意思はハッキリしている。

こんな感じです。まぁ、プログラマーも似たような構造になってる気がしなくもないけど・・（メーカー無いからレイヤー１は自分で言語とかOSとか作っちゃう感じかな。）
んで、今後このジャンルを盛り上げるならレイヤー３所属の人をいかにレイヤー2.7くらいになって行くのかが鍵です。そうなれば、毎週末のようにさくっと参加できるドローンレースが開催されてますます盛り上がることに間違いないとそう思っておる次第です。

初めて半年くらい経ちますが最初の頃は、説明してる単語の意味すらわからなくて泣きそうになりながら先輩にチャットでしつこく聞いたりして居ました。そんなレイヤー４から初めて今やっとレイヤー3になりつつ有ります。今レイヤー4の興味はあるけど何やっていいのかわからない方へ本エントリーが参考になれば幸いです。


# 改正航空法
まずはじめに
このエントリーが公開される10日から、いよいよ改正された航空法が施行されます。[詳細はこちら]("http://www.mlit.go.jp/koku/koku_tk10_000003.html")
緊急的な措置らしいので今後変更されることになるのでしばらく要チェックですね。

現在のルールは相当厳しい感じで、ほとんどのドローンレーサーは飛行するためには事前の許可が必要になりますが許可の取り方とかそもそも取れるのか？といったことが現時点では不明過ぎるというのが現状です。

安全面を最大限考慮して飛ばすことは必須としても、違法にならないように飛ばすには結構ハードルが高いです。

## 合法に飛ばすには

無人航空機であれば、上記様々なルールを課されていますが、模型飛行機であれば一気に制約が緩和されます。全165条からなる航空法の中の1項目だけ守れば飛行が制限されることが無いらしいです。

```
第99条の２　何人も、航空交通管制圏、航空交通情報圏、高度変更禁止空域又は航空交通管制区内の特別管制空域における
航空機の飛行に影響を及ぼすおそれのあるロケットの打上げその他の行為（物件の設置及び積載を除く。）で国土交通省令で
定めるものをしてはならない。ただし、国土交通大臣が、当該行為について、航空機の飛行に影響を及ぼすおそれがない
ものであると認め、又は公益上必要やむを得ず、かつ、一時的なものであると認めて許可をした場合は、この限りでない。
```

[出展：航空法]("http://www.houko.com/00/01/S27/231.HTM")
悪意を持ってやない限り、飛行機とかロケットのそばでレースすることはないでしょうｗｗｗ
ということで、模型飛行機であれば楽しめそうです。では模型飛行機と無人飛行機の違いといえば
重量（機体本体の重量とバッテリーの重量の合計）200グラム未満のマルチコプター・ラジコン機等は
航空法上「模型航空機」と扱われます。

ということで、200g未満で作ればいいんですよ。簡単ですね。

# Under 200g project (for DroneRacer)

目的は上記動画のようなLEDがビカビカしててビュンビュン飛ぶドローンでレースしたいんです。
とは言え、あのようにレースが出来るような機体で200gを切るものは一般的に市販されてないです。
そうです、なければ作ればいいのです。

## 基本方針

- 安全第一で飛行・制作・保管出来ること
- 法令、一般常識を遵守し永続的に活動出来ること
- パーツは市販品で構成する。
    - 誰でもネットで買えるパーツ(特注品を使わない)
    - 一般的な工具で組み立てられること（ネジ、粘着テープ、タイラップ、半田ゴテ等）
- なるべく安く制作・維持管理出来ること
    - 予算3万未満（機体のみ）

以上方針にそって制作していきたい。

まだ何も持ってない方は、別途プロポと充電器が必要です。合わせて3万円〜くらい。

## どう作るの？

とは言え、マルチコプターの世界はわからないことだらけなので、現時点でわかっていることを書きます。
（間違っていることが多々あるかと思います、ご指導の方お願い致します）
Under200gでドローンレーサーを始めてみたい人への参考になれば幸いです。

# 機体のパーツ構成について

マルチコプターは非常に簡単な構造でパーツ数も少ない上に、可動部はプロペラのみである。

- フレーム
    - PDB
    - UBEC
- フライトコントローラー
- バッテリー
- モーター
- アンプ
- 受信機
- CAM
    - OSD
    - VTX

以上のパーツ 11（飛ぶだけならCam以外の8）種類を集めれば、飛ぶ機体が出来上がる。
(コレ以外には、操作用のプロポとバッテリー充電器が必要、FPVやるには画面も）

<img width="594" alt="スクリーンショット 2015-12-09 23.40.39.png" src="https://qiita-image-store.s3.amazonaws.com/0/4036/1fb8129b-3dd7-8630-552e-4572b28d8bcf.png">
(SplThx AY)


これからいろんな製品も出てくるし、今ある製品を網羅できないので、各パーツの役割や、スペックの読み方を順次説明していく。


# フレーム

すべてのパーツをつなぎとめる重要なパーツです。様々なデザインが有りますが見るべきところは
重量、軸間距離、使用可能ペラサイズです。この3つで条件を満たせば素材やデザインは自由に選べばいいでしょう。
[150サイズのフレーム]("http://goodfpv.jp/ca16/871/p-r16-s/")

## 重量について
機体総重量を200g未満に押さえるためには、フレームにかけられるのは30g未満でしょう。しかしあまりにも軽いと壊れやすくなったりたわんでしまって墜落したり、維持の手間とコストが掛かるので重さと強靭さのバランスを考えましょう。

## 軸間距離
フレームには、250サイズとか、330サイズとかそういう風に呼ばれます。この数字はmm数で、モーター軸の距離を表現しています（厳密には違うのある）

モータの距離で使用可能なプロペラサイズが変わってくるので、開催レースによってはレギュレーションでこのサイズが指定されることがあります。（参加可能機種は２１０〜２８０までとか）

U200gでは、汎用部品を使うこととそこそこスピードが欲しいので150前後のサイズがベストな気がしている。プロペラは無理すれば3.5インチが使える。

# バッテリー

実質的なドローン活動で大半の時間を占めるのが、実はバッテリー管理だったりします。バッテリーも様々な種類がありますが、重さとパワーの関係でLiPoバッテリーという種類のバッテリーを選択しておけば良いようです。

バッテリーのスペックの見方。
典型的なバッテリーのスペック表記 ＞ `3S 1000mAh 30c`

## 頭のSは、セル数（Cだろって気がしなくもない）
セル数によって変わるのは電圧です。
電圧が上がることで推進力が上がります。
ただし、高いほうが良いわけでなく高ければ他の機材も高電圧対応のものに揃える必要があり重量増につながります。
満充電時に１セル当たり4.2Vになります。
2S : 8.4V
3S : 12.6V
4S : 16.8V
小型のドローンでは3Sが多く、レースだと4Sだったりおもちゃだと2Sだったりします。

## mAh について（ミリアンペアアワー）
電池容量です。デカイほど長持ちします。
単位の意味は、1時間で空になるには何mA流し続けられるか？ということです。
例えば100mAの機械を動かすとして、1000mAhだと10時間、2600mAhだと26時間持つということです。

## c
 ついて（キャパシティー）
この数字は、mAhと関係があります。バッテリーが1時間でからになる電流を1Cと言います。なので、1000mAhのバッテリなら1Aが1C、2600mAhなら2.6Aが１Cとなります。
でC値と言うのは、そのバッテリーが、どれくらいの倍率で電流を流せるのか？という数字になります。1000mAhの25Cであれば、25Aが使用可能です。機体の重さやモーターの種類で必要なC値のバッテリーを買えばいいですが、プロペラとの兼ね合いですので、実際飛ばしながら最大A数を見極めながら余裕を持ったバッテリーを買えばいいと思います。25Aなバッテリーに30Aの仕事させるとバッテリーが爆発炎上するらしいので、迷ったら大きめの数字にしておけばいいでしょう。

```
世の中には、100Cという製品もあり、4Sの2000mAh製品だと、16Vの200Aという
凄いことになります。ショートさせたらヤバイです。
```

## PDB パワーディストリビュートボード（電源分配板）

自作マルチコプターで難関なのが電源との付き合いです。実は意外と簡単なので順に説明します。マルチコプターの電源は唯一バッテリーです。軽量化の為１種類のバッテリーを積めません。電圧は上記 S値で決まります。

他方電源が必要な機材は何種類か存在します。モーターとか、フライトコントローラー（センサー付きのマイコン）、カメラとか、LEDとか。んで、この中で分類するとモーターとそれ以外に分類されます。
モータにはバッテリーの電圧をそのまま渡したい。
その他機器には、5Vの電圧を安定的に渡したい。

この2つの電圧を作るためにBEC機能が必要となります。BECは入力電圧（2S~4S等）を5V 1Aに調整してくれます。

このBECには、3種類あって
- 単機能でBEC
- ESCに内蔵されてるBEC
- PDB内蔵タイプ

U200gドローンでは、なるべく軽量化したいので、PDB内蔵型を選びます。
BEC単品は結線も置き場所も重量も無駄。ESC内蔵型は大きく重くなるので却下となります。

PDBの主機能は、端子盤です。バッテリーを繋ぐ端子、5V出力端子、アンプ用の出力端子などが効率的に配置さており各機材を端子につなぐことで必要なパーツに必要な電源を届けることが出来ます。PDBがない場合にはすべてリード線で各機材を決戦していく必要があります。PDBは、単品ではなく大抵フレームに付属かフレームのオプションで販売されていおり専用の製品を使用することが多いです。

LEDやCamなどでBEC内蔵のものも有り直接3Sを入力可能になりますがその分重く大きくなります。

# フライトコントローラー

ドローンの脳みそになります。幾つかのセンサーが乗っているマイコンです。これにレバー操作を入力されると現在の姿勢などを考慮して、4つモーターの回転量を調整してパイロットの操作した方向に機体を制御します。

ドローンレーサーでは、naze32シリーズとcc3dシリーズが2勢力です。シリーズと書いたように亜種がメチャクチャ有ります。設定方法や設定ソフトがそれぞれ違いますが、どっちでもいいかと思います。設定ソフトの使いやすさ等で好みが分かれるようです。ただし、基盤がしょっちゅうアップデートされており、リビジョン番号が上がっていますのでなるべく新しいリビジョンを購入した方がいいと思います。

また、フライトコントローラーには必ず設定が必要にあります。設定ソフトは、chromeのアプリとして提供されていたり、Androidアプリとして提供されています。機体とはマイクロUSBか、Bluetoothで接続して設定を行います。Bluetoothでの接続であればフライト中も機体の状況をモニターできるのでBluetoothがおすすめです。モジュール追加で重量増になりますが2g程度です。

[naze32 acro mini]("http://goodfpv.jp/ca34/878/p-r16-s/")というが機能的に重量的にu200gに向いていると思います。

# モーター
モーターは、ブラシレスが一般的です。
`1105 4000kv` サイズと回転数でスペックを表します。
モーターは組み合わされるプロペラと密接な関係があります。長時間遊びたいのか、短時間でもパワフルでいいのか好みによって別れます。600mAhのバッテリーで５分位遊べれば御の字ですが、U200gで組むにはモーターの選択肢はほとんどありません。1105 4000k一択になると思います。

## 1105 サイズ 表記
1105であれば、11mmの外形に、05mmの高さです。
デカイモーターほどパワーが上がりますが効率が落ちるので電池食いです。
超軽量に仕上げるためには、1100さいずか1300サイズかになりますが、この2ミリの差で5gくらい違います。モーターは4個必要なので20gの全重量の10%違ってきます。1100サイズでも十分速いので問題ないかと思います。

## 4000kv 回転数
無負荷時のrpm数になります。数字が大きいほど早く回りますがトルクが小さくなります。小さいプロペラを高速に回すか大きいプロペラをゆっくり回すかで推進力は同じになりますが、ペラとの兼ね合いで効率、電池の持ちが変わってきます。

# ESC アンプ

ドローンがプラスチックのプロペラで安定して飛べるのは、ESCが適切にモーターの回転を制御しているからです。フライトコントローラーからの命令を受け取ってモーターをゆっくり回したりはやく回したり制御します。1モーターに付き1つのESCが必要になります。スペックは、入力可能な電圧（２S~4S等)と出力する電流量（10Aや40A等）で表します。他には、大きさや重さが選択の基準となります。

U200gでは、10Aで3S対応でなるべく軽いものを選びます。

# 受信機

プロポからの操作を、フライトコントローラーに伝えるパーツです。HiTECやfutabaやメジャーです。
チャンネル数は最小で4ch、モードの切り替え等したい場合には8chなども有ります。6chくらいの受信機でいいかと思います。ch数と価格は比例の関係です。futaba製の製品ではs-busという仕組みが有りすべてのチャンネルを1ch分のケーブルで送ることが出来ます。小型の機体ではワイヤリングスペースが少ないためs-busが効果的かと思います。

# CAM

FPVで飛ばすためにはカメラが必要になります。スペックは、TVLで表され横方向の解像度になります。
500TVLより700TVLの方がより高画質な映像となります。この他にも、WDR対応とゆうのも有り、HDRですね。明るいところと暗いところを行ったり来たりする際によりワイドなダイナミックレンジに対応することで、映像の品質があがります。

## OSD

カメラの映像に、各種情報をオーバーレイするパーツです。GPS付きだと離陸地点からの距離や帰還方向、水平線などを表示可能なものも有りますが大きく重くなります。無くても困りませんが、電圧表示があると残容量の目安になるので付けておいたほうがいいかと思います。また、FPVするにはコールサインの表記が必要なので表示をカスマイズ表示できる機能があるとコールサインの掲示してくれます。
(OSDの中には、フライトコントローラの設定を行えるものもあるのでプロポから設定変更出来るようになったりします)

## VTX 映像送信機
カメラの映像にOSDをオーバーレイしたものVTXに入れることで電波になってパイロットのディスプレイに届きます。
5.8G帯のアマチュア無線4級が資格が必要な電波を使用します。また、VTX装置を基地局として申請して許可を貰う必要があります。電波の種類は32chの製品が有りますが国内で使用可能な周波数は限られています。

32chの選択は、A~Dの4chと1~8chの8chの掛け合わせで表現する製品がおおいです。
A-1やD-5という風に設定します。ディップスイッチで切り替える製品よりボタンで切り替える製品のほうが切り替えが楽でよいでしょう。レース時には、他人とchをずらす必要があり都度割り当てられるchが違うため迅速な切り替えが出来たほうが良いです。

2.4G帯のデジタル伝送（Wifi等）のVTXもありますが、遅延が大きくその映像を頼りにドローンレーサーでレースを行うのはほぼ無理かと思います。（全員が同じ条件だったらよちよちレースになるかも？）

また、電波の出力が600mWと200mWの二種類があり高出力の方が遠くまで飛びますが、アンテナ性能によるところも大きく。ショボイアンテをつけた600mWより高性能なアンテナをつけた200mWの方が高品質な映像を伝送可能です。同等のアンテナであれば600mWの方が遠くまで飛びます。

# 番外：フライトモードについて
フライトコントローラで設定可能なパラメータの内フライトモードの説明をします。
大体どのFCにも3つのモードが用意されています。Angle、Acro、Horizontalの3種類です

## Angle
一番安定しているモードです。プロポのレバーを全開に倒しても設定した一定の角度までしか傾向きません。ひっくり返ることがありません。また、レバーを話すと水平に自動で戻るので気楽です。逆さまになったりクルクルフリップしたりすることが出来ません。

## Acro
Angleモードの制限を解除し、自動水平機能もなくしたモードです。レバーを倒すとその方向に機体が傾き続けます、傾くというより回転します。クルクルフリップも可能です。レバーを離しても水平には戻らずその角度を維持するように制御されます。まっすぐ一定方向に進むだけなら便利ですが、ホバリングする、コーナリングするというのは一気に難易度が有ります。その分操作の自由度が高いため高スキルな人達は皆Acroモードです。

## Horizontal
AngleモードにAcroモードの成分を混ぜたものです。プロポのレバーを倒した際には際限なく回り続けます。フリップが可能です。しかしレバーを戻すと機体が水平に復帰します。Acroではコントロール出来ないけど、フリップさせたい時にホリゾンタルモードだとそれが可能です、レバーを倒す量を調整することでAngleモードのようにも動きます。

# 番外 購入するには？

残念ながら路面店で上記パーツが潤沢に揃っているお店はほぼありません。よって通販がメインになります。
また、通販するとしても各店舗で取り扱いパーツが違うため1台組むだけでも2〜4店舗からそれぞれ場合によっては海外通販サイトから購入することも珍しくありません。海外のサイトではPayPal決済可能なのでなんとなく安心です。

下記にこれまで利用したこと有る通販サイトを参考に載せます。
下記以外にもたくさん良い所があると思いますので是非コメント等で教えてください。

購入経験ありサイト
http://goodfpv.jp/
http://www.hobbynet-jp.com/
http://www.getfpv.com/

購入経験なしサイト
http://www.myrcmart.com/
http://www.infinity-hobby-jp.com/


# まとめ

あれ？PySpaってなんだっけ？
これからは、tensorflowでバリバリ電気を消費していくぜ！
ということです。

ドローンレースに興味のあるレイヤー３，４の方、一緒にダラダラやりましょう。
PySpaのノリで・・・