2019年1月9日水曜日

IMUなど


 ジャイロによる姿勢の積分と、加速度・地磁気による推定を組み合わせて、ジャイロがレンジを越えても数秒で正しい姿勢に収束するようにした。
 地磁気のオフセットを校正していないので、リニアリティがかなり悪いが。
 それと、上下が逆の場合に不正な挙動になる。加速度・地磁気→姿勢の処理で上下を判断していないので。そのあたりは気が向き次第追々。。。

 地磁気の校正をどうやるかなーと悩んでる。
 前回も書いたが、地磁気のオフセットは周辺の環境で大きく変化する。
 そのあたりにかなり気を使わないと、何を見ているのかわからなくなる。

***

 定期的に来る、缶サットやりたい欲が来てる。缶サットというか、スペースプローブ。
 ロケットだと加速度や角速度のレンジを広く設定する必要があるので、大変そうだなー。
 プローブだと打ち上げから着地まで、安定は期待できないから、ジャイロ単体で姿勢を積分する必要がある。それでも、100mから8m/sで落として12秒程度、打ち上げも含めれば15秒から20秒程度か。そのくらいなら積分でも問題なさそうだな。打ち上げの衝撃とかがどれくらい影響するかわからないけど。

 いろいろ試してみたいミッション機器はあるんだけど、さすがにいきなり全部詰め込んで動くように~ってのは厳しい気がする。
 飛行制御とローバーはぜひともやりたいんだが。ブラックロックとかはどこに落としてもとりあえず動き回るくらいはできそうなのは羨ましいよなー。スペースプローブは牧草地で打ち上げるから、ローバーをやるならまずはアスファルトの舗装面に落とさなきゃいけない。打ち上げはアスファルトに落下しないように行われるから、能動的に制御しなきゃいけない。
 どうやって制御するかなー。
 パラフォイルがよく使われる方式。スペースプローブでは継続的にパラフォイルを研究しているチームがある。
 可変翼もありそう。スペースプローブだと見かけないかな。
 コールドガスは缶サットだとやったチームがいるかな? ガスじゃないけど、加圧して水を吹く、というのは18年のスペースプローブでやったチームがいた。
 さすがにホットガスは見たことないな。上空でモデルロケットモーターに点火する、というのはあった気がするけど。モデルロケットのモーターは自主規制で「水平に近い角度では点火しない」というのがあるから、位置制御に使うのは難しそうだ。まぁガン無視して自己責任でやる、って方法もあるけど、なにかやらかしたときに「自己責任」の範囲じゃ収まらなくなるからねぇ。

 水を吹いて姿勢(&位置)制御、ってのは試してみたいネタだなー。
 防衛省のDACSみたいなやつ作ってみたい。コールドガスとか水じゃ浮くことはできないだろうが、落下中の姿勢制御とか、落下位置の修正くらいはできるはず。
 問題は、スペースプローブの筐体に500mlくらいの圧力容器を入れると、その周りの薄い円筒みたいな空間しか残らないので、基板を作るのが面倒、というあたりか。
 まぁそのあたりは少しずつ考えていこう。今年のスペースプローブに参加するにしたって半年以上あるはずだから。とか言ってるとあっという間に時間が無くなりそうだけど。


追記

 磁気のヒストグラムを表示するようにしてみた。


 薄々思ってたけど、ダメだこれ。
 やっぱり平面に表示しなきゃだめだなー。XY平面、XZ平面、YZ平面の3面を表示する必要がある。めんどい。

 4k液晶にして便利なのは、こういうグラフをかなり大量に配置できることだな。このGUIは横2.3k、縦1.3kくらいあって、FHD液晶では表示しきれない。
 最終的には必要な情報だけ表示すればいいけど、デバッグ段階ではとりあえず気になってるやつ全部表示する、ってのが楽でいい。
 この2.5倍程度までは表示できそうな気がする。生データのグラフとかはもっと小さくてもいいから、必要な情報だけ表示する、というふうにすれば、かなり大量のデータを表示できる。

 ステレオタイプな「管制室」みたいな、ディスプレイが大量に置いてある空間って、解像度はどれくらいだったんだろうか? 今のディスプレイ解像度だとかなりシンプルにできそう。
 というか、そもそも「画面がいっぱいの管制室」ってどこから刷り込まれた印象なんだろうか? 少なくともアポロ時代だとウインドウズなんかない時代なわけで、x86とかよりもだいぶ前の時代だから、ディスプレイもそれなりの性能のはず。ということは、一人が見ていた情報ってかなり少ないはずなんだよなぁ。
 かといって、高解像度ディスプレイで大量の情報を表示したら、それはそれで見逃すだろうし、となると、機械的に情報を処理して、正常か異常か、程度の表示にして、正常なら緑、危ないならオレンジ、ヤバイなら赤、みたいな表示にしてしまったほうがいいんだろうな。と、いうのを突き詰めていくと、イプシロンの「ノートPCで管制」みたいな話になるわけか。
 1号機の頃は「将来的にはこうしたい!」というイラストが出回っていた気がするけど、最近はあんまり聞かない気がするなぁ。折しももうすぐ4号機の打ち上げだそうで、ちょっと気にするようにしてみようっと。

追記

 磁気をXY面で表示するようにしてみた。


 目視で見る限り、それほど大きなオフセットもないし、円もそこそこちゃんと丸い。多少潰れてる感はあるけど。
 Z軸だけ分解能が悪い。確かに線グラフの方も、Z軸だけガタガタしてる。
 MEMSは平面にセンサを構成するので、厚さ方向に対しては性能が悪い傾向があるらしい。Z軸もそういうことなのかな? 磁気は積分しないので、多少分解能が悪いところで、大幅に特性が悪化する、ということはないはず。

 この塗りつぶしたような楕円の、原点と幅・高さを計測する必要がある。それを計測できれば、入力値に対してそれを補正することにより、正しい磁気データが得られ、磁気方位を正しく計測できる。はず。
 実際は平面ではなく空間で処理する必要がるけど、まぁ平面で作業しても問題ないだろう。

 まずはテストデータを作るところからか。
 磁気ベクトルできれいな楕円を書くのは結構面倒。プログラム書き換えるたびにいちいちセンサを振り回すんじゃ効率が悪いから、まずはCSVデータとかにして、それを処理するプログラムを作るところから。


 耳が調子悪いのがなかなか治らない。多少改善したり、悪化したり、波はあるけど。
 普段人と会話することはないので特に問題ないけど、作業中のBGMとかBGVが聞き取りづらいのは結構嫌な感じ。

0 件のコメント:

コメントを投稿