March 03, 2014Super Sylphide 進捗状況(74) -- もうちょっとすごいロガー Rev.C 設計完了先日、GPSアンテナ内蔵のもうちょっとすごいロガー Rev.Bが完成したばかりですが、Rev.Cを設計しました。Rev.Cでは使い方に少し配慮して、電源投入してから実際にログを取得開始するまでに任意のタイムラグをつけられるようにしました。電池がたくさん積めればよいのですが、もうちょっとすごいロガーの使われる環境では、あまり大容量の電池を積むのが重さ、大きさ的に難しいと思いますので、少ない電池を持たせるためにも、ログを取得開始するまでの間はできるだけ消費電力を少なく保つようにしました。 Rev.BからRev.Cで下記のように電源の構成を変更しています。 ずっとログをとっている状態なら、すべての電源としてLTC4080のstep-down converterから出力される3.3Vを使うRev.Bの構成が最も効率が良いのですが、この構成ではログ取得開始までの待機中にも同じログ取得中と同じ電力を消費されてしまいます。 現在、Rev.C基板を発注したところです。完成したら消費電力を様々な条件で比べてみたいと思います。 ※次の進捗はTinyFeatherへのRTKLIBの移植に関してです。 March 15, 2014Super Sylphide 進捗状況(75) -- RTKLIB探訪 rtksrv.c編最近、オートパイロットシステムTinyFeatherのGPS機能を充実しようとしています。搭載しているGPS受信機から、できるだけ生情報に近い部分を使うことで、より高精度な測位をすることを目標としてみました。GPSに関連する情報を処理するのは、高須先生がソースを公開されているRTKLIBです。RTKLIBはPCのアプリとして動かすにはとてもよくできているのですが、TinyFeatherはPCとは入出力やスレッドをはじめとしてかなり環境が違いので、組み込むにあたってプログラム構造を理解する必要がありました。今回の記事はある程度理解が進んだので、そのまとめとなります。 RTKLIBは、共通の部分(ディレクトリでいうとsrc)とそれを覆いこむいくつかのアプリケーション(同じくapp)として提供されているのですが、そのうち注目したのはCUIベースのrtkrcvというプログラムです。GUIがない測位機能中心のプログラムなので、これを解析していくことにしました。 rtkrcvは、RTK測位のサーバ機能を提供するrtksvr.cを中心としたプログラムになっています。この構造は下図のとおりです。 rtksvrthreadというスレッドの中で無限ループがあるのが特徴で、そのスレッドはrtksvrstartで生成、rtksvrstopで破壊されます。スレッドないの無限ループでは、測位(rtkpos)が行われ、それに付随する入出力、すなわち、搬送波位相などの観測情報をはじめとしたデータの受信(strread)と、解析結果の送信(strwrite)が行われています。つまるところrtkposが一回の測位に相当しますので、TinyFeatherをはじめとした組み込み環境では、rtkposをループで叩き、その入出力をなんらかの形で行ってやればよいということがわかりました。 冒頭で紹介したminimal_rtkposは、rtkposを1回走らせるための最小限の入出力をつけたもので、ファイルやスレッド機構がなくとも動作します。rtkposを動作されるためには、引数となる構造体に対してどのような値を設定し、また出力としてどのような値が返されているのか把握することがとても重要でした。この関係を把握するにあたってはrinexファイルからの読み込みを記したrinex.cや、u-blox受信機の出力をパースするrcv/ublox.cが大変参考になりました。 以後、得られた理解をもとにTinyFeatherへのRTKLIBの移植を進めます。 ※次の進捗は、ちょっとすごいロガーにテレメトリを追加した話です。 March 29, 2014ちょっとすごいロガー (NinjaScan Light) 波及効果運動計測用ロガーであるちょっとすごいロガー(NinjaScan Light)を設計してから時間がたちますが、オープンソースとしたことで、波及効果がありました。ちょっとすごいロガーの販売が最近、いなさま(@ina111)の手によって開始されたようです。開発をした僕との直接の関係は、金銭的な収受を含めて一切ないのですが、他の方に有用と認められ商品化されたことはとても大きな成果だと思っています。 宣伝となりますが、ちょっとすごいロガー(NinjaScan Light)は商用利用も可能なライセンス(ハードウェアはCreative Common 3.0 SA-BY、ファームウェアは3条項New BSD)としてありますので、いなさま以外の方でも、これらのライセンスの元でご利用いただければ、と思います。 今後ともちょっとすごいロガーをよろしくお願いいたします。ちょっとすごいロガーの1次情報は、githubのninja-scan-lightをご覧ください。 |
かれんだ~
スポンサード リンク
|