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をご覧ください。 |
かれんだ~
最近のTrackback ダイナミックDNS 3domain.hk… @ 3年落ちのPCでまだまだがんばる日記 9X到着〜インプレ@ 艦船プラモとRCマイクロヘリが好き! USL-5P@ 谷岡のページ (PukiWiki/TrackBack 0.3) [mbed][猫カメラ]猫カメラつづき@ Embedded 脇見運転 [mbed][猫カメラ]mbed + 猫…@ Embedded 脇見運転 MT4 @ ダイナミックで動く画像リサイ…@ wed@ 私がAudionoではなくBlackfi…@ Blackfin空挺団::Blog 【Web】はぐれメタルできたよー@ I'm St'a'dying English ちっとも、作っていない@ 三D坊主 猫カメラ@ 脇見運転 To 『猫カメラ』 試作中 最近のこめんと いきなりのコメント申し訳ありません。
… by まろまろ先輩 @ GPD Pocket 内蔵USBハブ基板 音楽を読み取りする 説明して欲しいですby 榎本待子 @ iPodからPCに曲を転送 Arduino嫌いだわ。
あんなもの見…by Alice @ 僕がArduinoを使わないわけ やや遅い書き込みで失礼します。
別の機…by LOSスマホ @ Xiaomi Mi Max (Hydrogen) の MIUI8 FM Radio (stock) 日本バンド対応 >Bさま
確か当時、そこまで高くなかっ…by fenrir @ MKS Promenade-Ezy ケージ交換 お値段はおいくらでしたか?
私も曲げて…by Bさま @ MKS Promenade-Ezy ケージ交換 >forester3さん
お返事遅くな…by fenrir @ EZUSB Keilからsdccへ、EZUSB.lib等の移植 お世話になります。3年ほど前sdccの…by forester3 @ EZUSB Keilからsdccへ、EZUSB.lib等の移植 以下のものはどうですかねby て @ VBAで泣かないために >tomi9さん
コメント気づくのが遅…by fenrir @ TCM8240MD breakout (i2cで画像取得モジュール) 動作確認完了 りんく集 かてごり~一覧 Aero & Astro (100) Computer (189) Embedded System (308) Info (14) Mountain (43) Movable Type (28) Movie & Animation (20) Music (9) Photo (47) Site Management (46) Timely (135) Tips (68) あ~かいぶ 検索君
スポンサード リンク
最近の記事 HDL-AAX2 シャットダウンスクリプ…
曜日を求める(8bit範囲で) Assisted GPS (A-GPS)… HDL-AAX2の修理 ExcelでMarkdownの表を編集 Rubyで確率分布の性質を求めるgem Windowsのcygwin/MSYS2… RubyでGPS姿勢推定 RubyでGPS受信機 boost::math::distrib… E-MailRelay本体更新(ver … RinRuby (Ruby gem fo… RSpecでのexample間共用のイン… 夏休みの工作: ソースコード公開 夏休みの工作: タッチセンサ GPD Pocketに増設したストレージ… GPD Pocketにストレージ増設 GPD Pocket 内蔵USBハブ基板… GPD Pocket 内蔵USBハブ基板 久しぶりの基板作成 自転車用六角穴付き特注ナット Xiaomi Mi Max (Hydro… Xiaomi Redmi Note 3 … Super Sylphide 進捗状況(… Super Sylphide 進捗状況(… |