SlideShare a Scribd company logo
1 of 7
ArduinoとGPSと有効数字
2017年6月1日
ロケット小僧@j_rocket_boy
目的
• GPSモジュールから手に入る数値の精度の検討 (NMEA-0183フォー
マット)
• Arduino上での扱い方を検討する。
NME-0183フォーマット
• 大抵のGPSモジュールから出てくる文字列データ
• 今回はGGAメッセージの緯度経度データを使うことにする
• GGAメッセージの例
• $GPRMC,085120.307,A,3541.1493,N,13945.3994,E,000.0,240.3,1812
11,,,A*6A
緯度
dd mm.mmmm
経度
ddd mm.mmmm
dd[°]
mm[分]
GPSデータを格納するために必要な精度
• 分が少数第4位まであることが多い。(秋月 みちびきGPSなど)
• 0.0001 / 60 = 1.67 × 10^-5
• 経度の場合、整数部が3桁あるので、10進数で8桁あれば足りる。
Arduinoで扱える実数
• float
• 32ビット
• 2進数で24桁精度 ≒ 10進数で7桁 → 一桁足りない
• Double
• 64ビット
• 2進数で53桁精度 ≒ 10進数で15桁 → 足りる
• Arduinoではfloatと同じ実装のため、精度は上がらない。
• http://www.musashinodenpa.com/arduino/ref/index.php?f=0&pos=1
252
• http://www.cc.kyoto-su.ac.jp/~yamada/programming/float.html
floatでGPSのデータを保持すると
• 1桁落ちる可能性がある。
• GPSからのデータ8桁
• float型7桁
• 7桁の精度で、距離誤差がどれくらいあるか。
• 地球を完全な球体と考えると、1°あたりの距離はあらゆる地点の緯度方向
と赤道上の経度方向が最も長い。
• 地球の大円の長さを4万kmとすると
• 4×10^7[m] / 360[deg] = 1.11×10^5 [m/deg]
• 経度は整数部で3桁取られる → 小数第4桁まで保持できる
• 10^-4[deg]とは、どれくらいの距離か → 10mオーダー
• 1.11×10^5[m/deg] * 10^-4[deg] = 11.1 [m]
解決方法
• 10m精度で諦める。
• 画像認識なら、10m程度でも誘導できるかもしれない。
• 度、分、秒で変数を分ける
• 度(int 16bit)
• 分(int 16bit)
• 秒(float 32bit) など
• 秒は4桁分(□□△△.○○○○ 分の○の部分)のため、floatで十分足りる

More Related Content

What's hot

静的型付け言語Python
静的型付け言語Python静的型付け言語Python
静的型付け言語Pythonkiki utagawa
 
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回Tomoya Kawanishi
 
高効率音声符号化―MP3詳解―
高効率音声符号化―MP3詳解―高効率音声符号化―MP3詳解―
高効率音声符号化―MP3詳解―Akinori Ito
 
球面フィッティングの導出と実装
球面フィッティングの導出と実装球面フィッティングの導出と実装
球面フィッティングの導出と実装j_rocket_boy
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介Preferred Networks
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例Fixstars Corporation
 
コンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィコンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィNorishige Fukushima
 
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門Fixstars Corporation
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量についてla_flance
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門Toru Matsuoka
 
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!Kazuhide Okamura
 
TCP/IPプロトコルスタック自作入門
TCP/IPプロトコルスタック自作入門TCP/IPプロトコルスタック自作入門
TCP/IPプロトコルスタック自作入門雅也 山本
 
ORB-SLAMの手法解説
ORB-SLAMの手法解説ORB-SLAMの手法解説
ORB-SLAMの手法解説Masaya Kaneko
 
Popcntによるハミング距離計算
Popcntによるハミング距離計算Popcntによるハミング距離計算
Popcntによるハミング距離計算Norishige Fukushima
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解MITSUNARI Shigeo
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANsDeep Learning JP
 
remote Docker over SSHが熱い
remote Docker over SSHが熱いremote Docker over SSHが熱い
remote Docker over SSHが熱いHiroyuki Ohnaka
 

What's hot (20)

静的型付け言語Python
静的型付け言語Python静的型付け言語Python
静的型付け言語Python
 
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回
 
R seminar on igraph
R seminar on igraphR seminar on igraph
R seminar on igraph
 
高効率音声符号化―MP3詳解―
高効率音声符号化―MP3詳解―高効率音声符号化―MP3詳解―
高効率音声符号化―MP3詳解―
 
球面フィッティングの導出と実装
球面フィッティングの導出と実装球面フィッティングの導出と実装
球面フィッティングの導出と実装
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
コンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィコンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィ
 
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量について
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門
 
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
 
TCP/IPプロトコルスタック自作入門
TCP/IPプロトコルスタック自作入門TCP/IPプロトコルスタック自作入門
TCP/IPプロトコルスタック自作入門
 
ORB-SLAMの手法解説
ORB-SLAMの手法解説ORB-SLAMの手法解説
ORB-SLAMの手法解説
 
Popcntによるハミング距離計算
Popcntによるハミング距離計算Popcntによるハミング距離計算
Popcntによるハミング距離計算
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs
 
remote Docker over SSHが熱い
remote Docker over SSHが熱いremote Docker over SSHが熱い
remote Docker over SSHが熱い
 

More from j_rocket_boy

Mコネクタの特性インピーダンス
Mコネクタの特性インピーダンスMコネクタの特性インピーダンス
Mコネクタの特性インピーダンスj_rocket_boy
 
マイクロストリップラインの曲げ部の解析
マイクロストリップラインの曲げ部の解析マイクロストリップラインの曲げ部の解析
マイクロストリップラインの曲げ部の解析j_rocket_boy
 
わかものハムの集い3 テーマ発表 アンテナ小僧 発表資料
わかものハムの集い3 テーマ発表 アンテナ小僧 発表資料わかものハムの集い3 テーマ発表 アンテナ小僧 発表資料
わかものハムの集い3 テーマ発表 アンテナ小僧 発表資料j_rocket_boy
 
高周波とVNAとアンテナエレメント長の調整
高周波とVNAとアンテナエレメント長の調整高周波とVNAとアンテナエレメント長の調整
高周波とVNAとアンテナエレメント長の調整j_rocket_boy
 
次期水ロケットの展望
次期水ロケットの展望次期水ロケットの展望
次期水ロケットの展望j_rocket_boy
 
ペットボトルロケットの水の量
ペットボトルロケットの水の量ペットボトルロケットの水の量
ペットボトルロケットの水の量j_rocket_boy
 
えだまめ作戦【CanSat】
えだまめ作戦【CanSat】えだまめ作戦【CanSat】
えだまめ作戦【CanSat】j_rocket_boy
 
えだまめ作戦です!
えだまめ作戦です!えだまめ作戦です!
えだまめ作戦です!j_rocket_boy
 

More from j_rocket_boy (8)

Mコネクタの特性インピーダンス
Mコネクタの特性インピーダンスMコネクタの特性インピーダンス
Mコネクタの特性インピーダンス
 
マイクロストリップラインの曲げ部の解析
マイクロストリップラインの曲げ部の解析マイクロストリップラインの曲げ部の解析
マイクロストリップラインの曲げ部の解析
 
わかものハムの集い3 テーマ発表 アンテナ小僧 発表資料
わかものハムの集い3 テーマ発表 アンテナ小僧 発表資料わかものハムの集い3 テーマ発表 アンテナ小僧 発表資料
わかものハムの集い3 テーマ発表 アンテナ小僧 発表資料
 
高周波とVNAとアンテナエレメント長の調整
高周波とVNAとアンテナエレメント長の調整高周波とVNAとアンテナエレメント長の調整
高周波とVNAとアンテナエレメント長の調整
 
次期水ロケットの展望
次期水ロケットの展望次期水ロケットの展望
次期水ロケットの展望
 
ペットボトルロケットの水の量
ペットボトルロケットの水の量ペットボトルロケットの水の量
ペットボトルロケットの水の量
 
えだまめ作戦【CanSat】
えだまめ作戦【CanSat】えだまめ作戦【CanSat】
えだまめ作戦【CanSat】
 
えだまめ作戦です!
えだまめ作戦です!えだまめ作戦です!
えだまめ作戦です!
 

Arduinoとgpsと有効数字