カルマンフィルターの話

ドローンの FC は BetaFlight ってヤツで作られている。
https://github.com/betaflight/betaflight/wiki
おなじみのヤツですが、日本語化とかを進めているみなさま(会いました)にはホント感謝。
これとは別に「ButterFlight」ってのもある。
バターってあのバターですよ。パンとかに塗るアレ。
Beta → ベータ → ベター → Butter というハッカーにありがちな語呂合わせであるらしい。

この ButterFlight と BetaFlight は何が原因でフォークが分かれることになったのか。
なんとそれがカルマンフィルタらしい。
カルマンフィルタ!ココでカルマンフィルタ出た!
コレを思い出した。

■apollo11号のソースコードを読みつつ
http://aerith7.hatenablog.com/entry/2016/12/21/171726
アポロ11号は AGC という CPU で制御されて、一部のミッションを行った。
AGC はわかりやすい表現でいうと、6502 相当の能力。ファミコン並。
その頃はどうやってコードを書いていたのかとか面白いので是非読んで。
その中にカルマンフィルタが入っていたんですね。

現在の BetaFlight はジャイロノッチフィルタ、ローパスフィルタをかまして、FFTまわすらしい。(ダイナミックノッチフィルタ?)
まあよく調べてないですが、いろいろ工夫されている模様。
いっぽうの ButterFlight はあんまり元気ない感じ?
こういうのも体感としてできるドローンすげーなー。
(ジジイの反応速度で確認できるのだろうか)
ヒマ見ていろいろ試したい。
やること増えるばっかりじゃねえか。

余談ですが、昨日 Progate すげーなーという記事を書いたら、Twitter で反応が多くとまどいました。
イイネ!くれた人見てると、全然プログラム触らなかった人達が、プログラミングで覚醒しちゃった!という人が多いようです。
楽器を弾くみたいな感覚でプログラムできる人が出てきてる。それはよいこと。楽しいこと見つかってよかった。

マイコンから触れている世代の人生ってこんな感じです。
キーボードを打てる、ってので採用されて。
ロータス123(現在のエクセル)ができるって採用されて。
アドビが使えるって採用されて。(90年代?)
Autocadが使えるって採用されて。
Lightwaveが使えるって採用されて。
PDAでスマホで・・と現在になった。
なんかそういうソフト主体の時代を経て、ようやくプログラミングが必要という時代が来た。
ウラを返すと、エクセルができるスゲー!で採用された人が、ずーっとそれでがんばってきて、今 RPA で駆逐されようとしている、そんな感じです。
これ RPA できる人にすると、非人間的な仕事から開放!なんだけど、そうでない人には仕事失くされた!って感じで、なんか人生って厳しいとしか言えない。エクセレーターとかパワーポッターとか言われてる場合じゃない。

で、先のアセンブラコードを改めてみると、いろいろと感慨深い。
その当時の最先端を任せられる MIT 天才より、集合知であるライブラリを使いこなせる現在の人達の方が、よいコードを書けるかもしれない。
これはすごいことだ。進化ってこんなことかもしれない。

書いたコードで、実際に動くものを見たり体験としてフィードバックできるのは、ものすごいことなので、みんなもやるといいなと思った。

ドローンの話だよ?