ジャイロセンサから見たドローン姿勢制御の流れ

現在の BetaFlight の祖 MultiWii では Wii のジャイロセンサに Arduino をつないでスタートしたという話をした。
Wii は InvenSense製の2軸ジャイロセンサ IDG-600 と、EPSON-TOYOCOM製の1軸ジャイロセンサ XV3700 を組み合わせてマイコンを使って 3軸としていたらしい。
http://www.kako.com/neta/2010-017/2010-017.html
当時のハッカーがずいぶんおもちゃにして、いろいろ活用された。
ジャイロセンサの設計がよかったので、それを活用して自作フライトコントローラーの歴史が始まったワケだ。
これはすごくおもしろい。

InvenSense は現在フライトコントローラーの主流で使われている6軸センサ MPU6000/MPU6500 の会社。
先程の記事は2010年頃の記事で、その後 InvenSense は 2016年末にTDKに買収されてる。
MPU6000/MPU6500 はSPI接続で高速なので、ドローンの姿勢制御には有効だ。
MPU6000の 8kHz に対して MPU6500 は 32kHz と高速。
速ければいいかというと、このあたりはいろいろあるらしい。
Tiny Whoop はサイズの関係か MPU6000 を採用しているようだ。
MPU6050はI2Cで SPI と比較すると速度遅いけど使い勝手がよい。
電子工作はこちらをよく使う。

上位モデルに MPU9250 という9軸センサーがある
9軸とは、3軸加速度、3軸ジャイロ、3軸コンパスで、AK8963という磁気センサが別チップで追加になっている。
これなんで使ってないのかなと歴史を紐解くと、過去使おうとしたこともあったようだ。
しかしこのチップ、6軸部分は SPI 接続で高速だが、あとからつけた磁気センサは 6軸と I2C でつながる形になっている。あつかいめんどい。
あわせて電磁波の影響でうまく動かなかったようで衰退した模様。

小型ドローンにも高度維持機能があるものがあるけど、アレなに使ってるんだろうな。
Bosch の BMP180 とか?でもあれあまり精度よくない。
次回は気が向いたらそのあたりを調べてみる。

Tiny Whoop で使う電線とかコネクタ規格まとめ

JST PH2.0 のコネクタがよくダメになって。
という話をしていたが、他も含めてコネクタ規格とケーブルサイズをまとめてみた。
なんとなくこんな感じ。

XT30:18AWG
JSH-XH2.5:24AWG
JSH-PH2.0:24AWG
Molex Pico Blade 1.25:28AWG

通常は要求されるアンペア数で決定するが、ラジコン界隈ではケーブル選択はなるたけ太く、シリコンコードを使う。
AWG というのは「American Wire Gauge」というアメリカの規格で「ゲージ」とか読む界隈もある。
数字が小さいほど太くなる。
一般的にはビニールコードしか手に入らないけど、ラジコン系で使われるのは取り回しのよいシリコンなので探そう。
XT30 はそのままつなげるだけなので、圧着コネクタが必要なのは、2.5、2.0、1.25 となる。

XT30 は 2S以上のバッテリで使う規格。
かなりしっかりしたコネクタで、抜き差しもそれなりに力が必要。
XT30 はピッグテールぐらいで、ピッグテール交換する時はケーブルついてくるだろうからあんまり使わないかも。
変換ケーブルとか作る時のために覚えておこう。

JSH-XH2.5 は 2S以上のバッテリで、バランス充電する時のコネクタ。
直列になるバッテリ数によって端子数が変わる。
これは PHコネクタと共通の 24AWG でいいと思う。

JSH-PH2.0 は 1S のバッテリで使われるコネクタ。
スイッチ代わりに抜き差しされるが、おおよそそういう用途向けではないので劣化はげしい。
でも実際の話、抜き差ししやすいし、取り回しはいろいろとラク。
なんだかんだで 1S のスティックバッテリは、今後も残っていきそうな感じなので、まあこのあたりの部品は揃えておいていいと思う。
利用にあたっては圧着ペンチが必要。
でもコネクタピン側の材料がなぜか入手できず。
なんか表面実装用ばっかりだよ。

Molex Pico Blade はさらに前の世代のピッグテールだった規格で、今はモーターのコネクタに使われている。
1.25 は最小サイズなので、圧着ペンチで対応しているかは確認したほうがいい。
VTXとかカメラの内部配線とか、コネクタ化もこのあたりのケーブルとコネクタ使うといいと思う。
Micro とか Nano とか、小さい JSH 規格もあるけど、ラジコン系はなぜか昔から Molex Pico Blade らしい。

あと出てくるのは XT60 という、デカい XT30 がある。
これはそこそこ大きいアンペア数の DC コネクタとして使われている感じ。
アダプタとかにもなってるので、覚えておこう。

ちょろっとしか必要ないのだけど、買うとメートル単位で売るほど集まる。
なにか小分けにして配るようか。
そこまで工作する人も少数派か。

75X のフレーム交換したり 85X HD 飛ばしたり

75Xのバッテリホルダやられた。75Xあるある。ここが弱点。

一発目飛ばす時に飛び上がったところで「RUN AWAY」って OSD に表示。
その後、モーター停止→落下ってのがあって。
そこそこの高さあるところから、パチャーンと落ちたらホルダ割れた。
これなんだろうなーと思っていたら、この設定で直ると聞き設定。
BetaFlight で CLI に行って
# set runaway_takeoff_prevention = OFF
そしてセーブ。
# save
これで直った。
https://github.com/betaflight/betaflight/wiki/Runaway-Takeoff-Prevention
コレか。
セフティーということらしい。
この中だとジャイロの初期設定遅れとかだろうか。
飛ばすときには焦らずにということか。
完全にホルダやられたのでフレーム交換。

バラしてみたらレシーバーのところまで折れてた。
このフレームの構造はあんまりよくないなー。
といいつつ、もう一個予備買っておいた。
75Xはまだ恐る恐るって感じで、全然使いこなせていない。

この週末は 85X HD もかなりの時間飛ばしてみた。
85X HD は 2S だと大変優雅に飛ぶ。音も静かだ。
重量あるので慣性がつきやすく、Pahtomクラスの ATTI モードに近い感じか。
空撮向けであれば、これを使いこなすのがよい。
3S にしたのを見せてもらったが、その場合は元気にトリックも決めていた。
この状態だと慣性ついても馬力で持ち直せる。
その場合の映像はクイックになっちゃうので、2S を使いこなすのがまずは課題か。

Caddx Turtle v2 はハズれなのか、こういうものなのか、なんかやっとこすっとこ動いている感じ。
一発目は OSD 安定するまでちょっと時間が必要。(暖機?)
自動録画にしているが、録画が勝手に止まって、新たに再開するなど。
なんか Drop Block ってログが複数ルートフォルダにあがっていた。
これ熱の影響?それとも別の要因?
映像の中にプロペラガードが微妙に写り込んでいるので、キャノピーの高さを上げるとともに、なにか冷却追加を検討か。
得られた動画データは FATSHARK の DVR 動画(大変ヒドいシロモノ)とは比べ物にならない素晴らしいものだった。
これぐらいの動画データ撮れたら個人的には十分かな。
ココで参考動画とかスクリーンショットを出せばいいのだろうけど、なにかいい感じに公開できそうなデータがなかった。
また次の機会に。

明和電機ショップに行ってみた

秋葉原なんかいつも行っているクセに、いつも行くのを忘れていた明和電機ショップに行ってきた。

その経緯については社長ブログが大変熱いので一読をオススメする。

明和電機社長ブログ

果たしてお店は日曜日でお休みが多い、ラジオデパート2Fにあった。

そこに出店されていた「おばけパズル」に心奪われる。
https://obakepuzzle.stores.jp/
ヒノキのバッチ買ってしまった。

大変プリティ。目にLEDで照明がつくのだけど、微妙に点滅している。
ヒノキのいい匂いがします。木材の柔らかさもよい。
こちらで売ってます。
https://obakepuzzle.stores.jp/items/5c7fdca72ef82865b8b3768a

他にもいろいろ楽しいものがあったので、一度寄ってみることをオススメします。

85X HD の Caddx Turtle v2 でハマる(続き)

別の SD カード持ってくるも動かず。
WTW仲間に聞くに、そんな相性とか聞いたこともないよとも言われる。
そうなのか。
抜いたり挿したりを繰り返すと、時折つながるときがあるようだ。
これはあれか。接触のよくないアレか。新品なのにか。
ということで、バラしてカードを押さえつけるバネのテンションをあげる加工をした。
具体的にはバネの部分をドライバで押す。

これで改善してちゃんと認識されるようになった。
通電チェックしててもやけどするほどスゲエ発熱。
SDカードもおもしろいぐらい熱くなる。
単体で売ってるときはヒートシンクがわりの厚手の板とかついてた。
そのあたりの対応は必要も考えたほうがいいのかなあ。
この発熱は夏は難しそうな気がする。
界隈的には Caddx の品質はあまり評判がよくなく、ある日突然電源入らないとかあるらしい。
確かに Runcam の方が見た感じマシな感じもするかな。
機体はコレでしばらく打ち止めと思っていたが、やっぱり予備いる。

こういうのが敷居高くしてるよなあと思う。

Elasticsearch 7.0.0 がリリースされるもアップグレードでハマる

https://www.elastic.co/jp/blog/elastic-stack-7-0-0-released

Elastic の新しいのでた。相変わらずガンガン攻めている感じだ。
いつものクセで apt-get Yeah! をしてハマった。
今回クラスタまわりが更新されたり、インデックスのルールが変わったりしている。
6.7.0からサポートツール使いながらのローリングアップデートを推奨とのことだが、6.6.0 から一気に上書きしてチーン。
もうめんどくさいのでこれまでのインデックスデータは破棄して、再インストールするも動かず。
エラーログを見ているとこんなことを言っている。

the default discovery settings are unsuitable for production use;
at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

クラスタとかノードの設定してね、みたいな。
elasticsearch.yml に以下を追加すると動くようになるよ、みたいな中国語記事発見。

cluster.initial_master_nodes: [“node-1”]

これで動いた。テキトウにごまかし。こんなものでいいのか。
が、kibana 動かず。
こちらもログを確認すると、クラスタの設定教えてねって問い合わせがタイムアウトして止まっている模様。
クラスタとかノードとか準備するのめんどくさい・・
どうにかシングルノードで動かす方法ないかな。(Dockerならコマンド一発)
いい感じの設定を見つけた。
elasticsearch.yml に書くべき最小の設定はコチラだ。

network.host: 0.0.0.0
discovery.type: single-node

kibana.yml はコチラだ。(従来から変更なし)

server.port: 5601
server.host: “0.0.0.0”
elasticsearch.hosts: “http://localhost:9200”

いやー今回はちょっと悩んだ。
ちゃんとドキュメントは読まないとだよね。

85X HD の Caddx Turtle v2 でハマる

85X HD の設定をやった。
バインドも設定も慣れたものだ。
2Sで使う分には飛びも安定して優雅で空撮向きか。

今回は Caddx Turtle v2 という DVR がついているので、そちらの設定もやった。
85X HD はキャノピーの上部にカメラ・DVR・VTX がまとめられている。
キャノピーを外すと設定用のコネクタが出てきて、そこに専用のジョイスティック基盤を挿し、OSD で設定する。
FPV側のアスペクトを 4:3 にし、録画をHDの 30fps を自動録画設定にする。

SDカードを挿してと、ココで引っかかった。
相性なのか Fail。Format もできない。
ココで SDカードの Info メニューで確認したところ帰ってこない。
しゃーないので電源を挿し直すもののカメラ画像がでなくなった。
具体的には灰色画面でジョイスティック基盤から操作するも反応なし。
やっちゃったかーとリセットボタン探すも見つからず。
マニュアル見ながら困ったなーと思っていたら、録画ボタンを5秒長押しで Turning Off とある。

http://www.caddxrc.com/u_file/1812/file/bea9380b5e.jpg

これを使ったら画面が出るようになり、ジョイスティック基盤も動くようになった。
Factry Reset をかけて、動く状態まで戻せた。ほっ。
とりあえず動かせる SDカード探すかーということで、ジョイスティック基盤は外出しにしておいた。

SDカード探してくるかー。

BetaFlight4.0.0 とか Rapid+fire 1.2.7 とか

RCだった BetaFlight の4.0.0がリリース。
https://github.com/betaflight/betaflight/releases/tag/4.0.0
焼き付けるファームは通信プロトコルによって違うので注意。
あと CLI で dump all してからやるのも忘れない。
といいつつ、まだやっていない。

Rapid+fire も 1.2.7 にあがっていた。
https://www.immersionrc.com/fpv-products/rapidfire/#tab-1495548969565-2-7
1.2.7 は Beta 扱いだけど、細かいバグフィックスみたいなのであげた。
1.2.6 で追加された、OLED 画面を OSD にするのが地味に便利だ。
つまり受信機の画面が、そのまま OSD に出る。
いちいち外さないでもメニューの機能使えるの便利。
こちらは即実施でいい感じ。

BETAFPV 85X HD キタ

DVR 付の CineWhoop 85X HD が来た。
DVR ってのは本体側に MicroSDHC が挿さって録画できる機能のこと。
電波で映像を飛ばなさないので、劣化なしでフルHDの撮影可能。さしずめ空飛ぶ GoPro。
85X は Caddx EOS2 を搭載した軽量な通常モデルと、DVR機能のついた Caddx Turtle V2 の HD と2種類ある。
フレームサイズは85mmとなり、プロペラも48mm、つまり2インチということで、かなりしっかりしたサイズ。

デカい。700のタッパに入らない。
これよりデカいスクエアのタッパあったっけ?
とりあえず設定とかは明日にするか・・
このサイズだと家の中でちょっと飛ばすってワケにもいかないし。