IX 詳細処理
VIII 章の図 VIII-I-1 と図 VIII-II-1 で示した IMU スレッドと基準局 GPS スレッド、移動局 GPS スレッド、画面表示メインの各モジュールの詳細処理の説明を PAD 図で示す。
IX-I•

IMU スレッド
IMU スレッド初期化処理

ｼﾘｱﾙ通信設定

ﾘｱﾙﾓｰﾄﾞの場合

IMUｾﾝｻﾃﾞｰﾀ計測ｻｲｸﾙを初期設定ﾌｧｲﾙから取得
ｺｰﾙﾊﾞｯｸ関数登録
・IMUｾﾝｻﾃﾞｰﾀ受信

191

•

IMU センサデータ受信時コールバック処理

受信状態更新受信タイムログ出力
受信したIMUｾﾝｻﾃﾞｰﾀをﾌｧｲﾙに出力受信したIMUｾﾝｻﾃﾞｰﾀを前回受信ﾃﾞｰﾀとしてﾊﾞｯｸｱｯﾌﾟ

うるう秒加算IMUｾﾝｻ時間のﾐﾘ秒＝0

記録開始中
初回IMUｾﾝｻﾃﾞｰﾀ未検出

受信IMUｾﾝｻﾃﾞｰﾀを内部処理単位に変換し一時ﾊﾞｯﾌｧへ格納

データ確定(IMUｾﾝｻ時間のﾐﾘ秒＝0または前回受信IMUｾﾝｻﾃﾞｰﾀのﾐﾘ秒より小さい)

IMUｾﾝｻ受信ｶｳﾝﾀを0ｸ
ﾘｱ
初回IMUｾﾝｻﾃﾞｰﾀ検出済み

一時ﾊﾞｯﾌｧのﾃﾞｰﾀをIMUｾﾝｻﾃﾞｰﾀ用ﾘﾝｸﾞ
ﾊﾞｯﾌｧへ格納
IMUｾﾝｻ受信ｶｳﾝﾀを0ｸ
ﾘｱ受信したIMUｾﾝｻﾃﾞｰﾀを前回受信ﾃﾞｰﾀとしてﾊﾞｯｸｱｯﾌﾟ

受信IMUｾﾝｻﾃﾞｰﾀを内部処理単位に変換し一時ﾊﾞｯﾌｧへ格納
IMUｾﾝｻ受信ｶｳﾝﾀをｲﾝｸﾘﾒﾝﾄ

受信ﾃﾞｰﾀに抜けが無い
受信したIMUｾﾝｻﾃﾞｰﾀを前回受信ﾃﾞｰﾀとしてﾊﾞｯｸｱｯﾌﾟ

抜けたﾃﾞｰﾀ数回
受信IMUｾﾝｻﾃﾞｰﾀを内部処理単位に変換し一時ﾊﾞｯﾌｧへ格納

前回受信ﾃﾞｰﾀを内部処理単位に変換し一時ﾊﾞｯﾌｧへ格納
IMUｾﾝｻ受信ｶｳﾝﾀをｲﾝｸﾘﾒﾝﾄ

IMUｾﾝｻ受信ｶｳﾝﾀをｲﾝｸﾘﾒﾝﾄ•

測位演算実行時 IMU スレッド処理終了通知が来るまで0.1秒ｽﾘｰﾌﾟ

複合ﾓｰﾄﾞの場合

IMUｾﾝｻﾃﾞｰﾀﾌｧｲﾙｵｰ
ﾌﾟﾝ
ｾﾝｻﾃﾞｰﾀﾌｧｲﾙﾍｯﾀﾞ行
空読み

後処理ﾓｰﾄﾞの場
合終了通知または停止通知が来るまで
IMUｾﾝｻﾃﾞｰﾀﾌｧｲﾙｸﾛｰｽﾞ

IMUｽﾚｯﾄﾞ終了処理終了通知が来ている場合
1秒分IMUｾﾝｻﾃﾞｰﾀ格
納ｴﾘｱ確保IMUｾﾝｻﾃﾞｰﾀ送受信

0.01秒ｽﾘｰﾌﾟ

ｽﾚｯﾄﾞ終了処理終了通知まが来るまで記録開始初回の場合

IMUｾﾝｻﾃﾞｰﾀﾌｧｲﾙｵｰ
ﾌﾟﾝ

IMUｾﾝｻﾃﾞｰﾀﾌｧｲﾙ
ｵｰﾌﾟﾝ中IMUｾﾝｻﾃﾞｰﾀﾌｧｲﾙｸﾛｰｽﾞ

記録開始の場合

192IMUｾﾝｻﾃﾞｰﾀﾌｧｲﾙから1秒分のIMUｾﾝｻﾃﾞｰﾀを取得し1秒分IMUｾﾝｻﾃﾞｰﾀ格納ｴﾘｱに格納
1秒分IMUｾﾝｻﾃﾞｰﾀ格
納ｴﾘｱのﾃﾞｰﾀをIMUｾﾝ
ｻﾃﾞｰﾀ用ﾘﾝｸﾞﾊﾞｯﾌｧへ格納

IX-II•

基準局 GPS スレッド
基準局 GPS スレッド初期化処理

ﾘｱﾙﾓｰﾄﾞの場合

ｼﾘｱﾙ通信設定

ｺｰﾙﾊﾞｯｸ関数登録・基準局GPSﾃﾞｰﾀ受信•

基準局 GPS データ受信時コールバック処理

受信状態更新受信タイムログ出力

記録開始中

受信衛星数分の受信
ﾃﾞｰﾀ格納ﾒﾓﾘ取得
受信ﾃﾞｰﾀを受信ﾃﾞｰﾀ格納ﾒﾓﾘに格納

Oﾌｧｲﾙｵｰﾌﾟﾝ中

受信ﾃﾞｰﾀをOﾌｧｲﾙに出力
ｸﾘﾃｨｶﾙｾｸｼｮﾝを取得
基準局GPSﾃﾞｰﾀﾘﾝｸﾞ
ﾊﾞｯﾌｧの書き込みﾎﾟｲﾝ
ﾀ位置に受信ﾃﾞｰﾀ格納
ﾒﾓﾘのｱﾄﾞﾚｽをｾｯﾄ
基準局GPSﾃﾞｰﾀﾘﾝｸﾞ
ﾊﾞｯﾌｧの書き込みﾎﾟｲﾝ
ﾀをｲﾝｸﾘﾒﾝﾄ
基準局GPSﾃﾞｰﾀﾘ
ﾝｸﾞﾊﾞｯﾌｧの書き込
みﾎﾟｲﾝﾀ≧最大値(65536)

基準局GPSﾃﾞｰﾀﾘﾝｸﾞ
ﾊﾞｯﾌｧの書き込みﾎﾟｲﾝ
ﾀを0ｸﾘｱｸﾘﾃｨｶﾙｾｸｼｮﾝを開放

193

•

測位演算実行時基準局 GPS スレッド処理
終了通知が来るまで1秒ｽﾘｰﾌﾟ
Oﾌｧｲﾙｵｰﾌﾟﾝ（ﾍｯﾀﾞ行空読み）
終了通知または停止通知が来るまで

Oﾌｧｲﾙから1ｴﾎﾟｯｸ分ﾃﾞｰﾀ読み込み

Oﾌｧｲﾙｸﾛｰｽﾞ

1ｴﾎﾟｯｸ分ﾃﾞｰﾀを基準
局GPSﾃﾞｰﾀ用ﾘﾝｸﾞﾊﾞｯ
ﾌｧへ格納

後処理ﾓｰﾄﾞの場合

1秒ｽﾘｰﾌﾟ
終了通知が来ている場合

ｽﾚｯﾄﾞ終了処理

終了通知まが来るまで基準局GPSｽﾚｯﾄﾞ終了
処理

基準局GPSﾃﾞｰﾀ受信

0.01秒ｽﾘｰﾌﾟ

記録開始初回の場合

Oﾌｧｲﾙｵｰﾌﾟﾝ

Oﾌｧｲﾙｵｰﾌﾟﾝ中

Oﾌｧｲﾙｸﾛｰｽﾞ

記録開始の場合

IX-III 移動局 GPS スレッド•

移動局 GPS スレッド初期化処理

ﾘｱﾙﾓｰﾄﾞの場合

ｼﾘｱﾙ通信設定

ｺｰﾙﾊﾞｯｸ関数登録・ｱﾙﾏﾅｯｸﾃﾞｰﾀ受信・ｴﾌｪﾒﾘｽﾃﾞｰﾀ受信・移動局GPSﾃﾞｰﾀ受信

194

•

アルマナック・エフェメリス読み込み処理
ｱﾙﾏﾅｯｸﾃﾞｰﾀﾊﾞｯﾌｧ領
域取得
Nﾌｧｲﾙｵｰﾌﾟﾝ
Nﾌｧｲﾙからｱﾙﾏﾅｯｸﾃﾞｰ
ﾀ読み込み
Nﾌｧｲﾙに格納されている衛星数回

ｴﾌｪﾒﾘｽﾃﾞｰﾀﾊﾞｯﾌｧ領域
拡張

Nﾌｧｲﾙｸﾛｰｽﾞ

ｴﾌｪﾒﾘｽﾃﾞｰﾀ読み込み

ｱﾙﾏﾅｯｸﾃﾞｰﾀﾊﾞｯﾌｧ領域に準天頂衛星ｱﾙﾏ
ﾅｯｸﾃﾞｰﾀﾊﾞｯﾌｧ領域を結合
ｴﾌｪﾒﾘｽﾃﾞｰﾀﾊﾞｯﾌｧ領域に準天頂衛星ｴﾌｪﾒﾘｽ
ﾃﾞｰﾀﾊﾞｯﾌｧ領域を結合•

アルマナックデータ受信時コールバック処理
ｸﾘﾃｨｶﾙｾｸｼｮﾝを取得
ｱﾙﾏﾅｯｸﾃﾞｰﾀをﾊﾞｯﾌｧに格納
ｸﾘﾃｨｶﾙｾｸｼｮﾝを開放

195

•

エフェメリスデータ受信時コールバック処理
ｸﾘﾃｨｶﾙｾｸｼｮﾝを取得
ｴﾌｪﾒﾘｽﾃﾞｰﾀをﾊﾞｯﾌｧに追加
ｸﾘﾃｨｶﾙｾｸｼｮﾝを開放•

移動局 GPS データ受信時コールバック処理

受信状態更新受信タイムログ出力

記録開始中

受信衛星数分の受信
ﾃﾞｰﾀ格納ﾒﾓﾘ取得
受信ﾃﾞｰﾀを受信ﾃﾞｰﾀ格納ﾒﾓﾘに格納

Oﾌｧｲﾙｵｰﾌﾟﾝ中

受信ﾃﾞｰﾀをOﾌｧｲﾙに出力
ｸﾘﾃｨｶﾙｾｸｼｮﾝを取得
移動局GPSﾃﾞｰﾀﾘﾝｸﾞ
ﾊﾞｯﾌｧの書き込みﾎﾟｲﾝ
ﾀ位置に受信ﾃﾞｰﾀ格納ﾒﾓﾘのｱﾄﾞﾚｽをｾｯﾄ
移動局GPSﾃﾞｰﾀﾘﾝｸﾞ
ﾊﾞｯﾌｧの書き込みﾎﾟｲﾝ
ﾀをｲﾝｸﾘﾒﾝﾄ
移動局GPSﾃﾞｰﾀﾘ
ﾝｸﾞﾊﾞｯﾌｧの書き込
みﾎﾟｲﾝﾀ≧最大値(65536)

移動局GPSﾃﾞｰﾀﾘﾝｸﾞ
ﾊﾞｯﾌｧの書き込みﾎﾟｲﾝ
ﾀを0ｸﾘｱｸﾘﾃｨｶﾙｾｸｼｮﾝを開放

196

•

測位演算実行時移動局 GPS スレッド処理
終了通知が来るまで1秒ｽﾘｰﾌﾟ
Oﾌｧｲﾙｵｰﾌﾟﾝ（ﾍｯﾀﾞ行空読み）
終了通知または停止通知が来るまで

Oﾌｧｲﾙから1ｴﾎﾟｯｸ分
ﾃﾞｰﾀ読み込み

Oﾌｧｲﾙｸﾛｰｽﾞ

1ｴﾎﾟｯｸ分ﾃﾞｰﾀを移動
局GPSﾃﾞｰﾀ用ﾘﾝｸﾞﾊﾞｯ
ﾌｧへ格納

後処理ﾓｰﾄﾞの場合

1秒ｽﾘｰﾌﾟ
終了通知が来ている場合

ｽﾚｯﾄﾞ終了処理

終了通知まが来るまで

移動局GPSｽﾚｯﾄﾞ終了
処理

移動局GPSﾃﾞｰﾀ受信

0.01秒ｽﾘｰﾌﾟ

記録開始初回の場合

Oﾌｧｲﾙｵｰﾌﾟﾝ

Oﾌｧｲﾙｵｰﾌﾟﾝ中

Oﾌｧｲﾙｸﾛｰｽﾞ

記録開始の場合

197

IX-IV 画面表示メイン•

測位演算処理初期化処理

ｶﾚﾝﾄﾃﾞｨﾚｸﾄﾘ設定

１

２

IMUｾﾝｻﾃﾞｰﾀ時刻、基準局GPSﾃﾞｰﾀ時刻、移動局GPSﾃﾞｰﾀ時刻の初期値設定

IMUｽﾚｯﾄﾞ生成

各設定ﾌｧｲﾙからﾊﾟﾗﾒｰﾀの読み込み
・GPS誤差ﾌｧｲﾙ
・複合航法初期設定
ﾌｧｲﾙ
・RTK-GPS初期設定
ﾌｧｲﾙ

基準局GPSｽﾚｯﾄﾞ生成

ｱﾙﾏﾅｯｸﾃﾞｰﾀﾊﾞｯﾌｧ、ｴﾌｪﾒﾘｽﾃﾞｰﾀﾊﾞｯﾌｧｱｸｾｽ
用ｸﾘﾃｨｶﾙｾｸｼｮﾝ作成

移動局GPSｽﾚｯﾄﾞ生成

ｳｨﾝﾄﾞｳのﾀｲﾄﾙにﾌﾟﾛｼﾞｪｸﾄ名を設定

測位演算処理実行周期（10msec）設定

実行速度”Hi”、”Low”の設定（”Mid”に対する比率）

指定ﾌﾟﾛｼﾞｪｸﾄの使用測位演算技術取得

表示画面設定・”測位条件”
・”測位結果”
・”位置誤差”
・”衛星配置”・”DOP”
・”軌跡”(※)

使用不可ﾎﾞﾀﾝの設定

後処理ﾓｰﾄﾞの場
合
測位演算処理で使用する各種ﾌﾗｸﾞの初期化(※)GPS真値ﾌｧｲﾙ中の位置ﾃﾞｰﾀX、Yの最大値、最小値を取得し、軌跡描画ｽｹｰﾙを決定する。

IMUｾﾝｻﾃﾞｰﾀ、基準局GPSﾃﾞｰﾀ、移動局GPSﾃﾞｰﾀのﾘﾝｸﾞﾊﾞｯﾌｧ領域を確保

測位演算処理で使用する各種変数の初期化

２

１

•

ｽﾀｰﾄ時刻、ｴﾝﾄﾞ時刻を表示

開始ボタンクリック処理

測位演算で使用する各種変数の初期化
各設定ﾌｧｲﾙからﾊﾟﾗﾒｰ
ﾀの読み込み実行速度設定各ｽﾚｯﾄﾞからの終了通知ﾌﾗｸﾞを初期化
ﾎﾞﾀﾝを実行中状態に設定
ｽﾚｯﾄﾞへの停止通知ﾌﾗ
ｸﾞを初期化198

使用不可ﾎﾞﾀﾝの設定

ﾘｱﾙﾀｲﾑ初期設定ﾌｧｲ
ﾙの”測位演算設定値”を読み込み•

測位演算処理ﾘｱﾙﾓｰﾄﾞで記録停止中の場合
後処理ﾓｰﾄﾞで停止フラグがONの場合各ﾘﾝｸﾞﾊﾞｯﾌｧを空にする

１

各ﾎﾞﾀﾝを停止中状態に設定

IMU、基準局、移動局の通信状態更新

基準局GPSﾃﾞｰﾀがある場合
ﾙｰﾌﾟｶｳﾝﾀをｲﾝｸﾘﾒﾝﾄ

ﾘﾝｸﾞﾊﾞｯﾌｧからｱﾙﾏﾅｯｸ
ﾃﾞｰﾀ、ｴﾌｪﾒﾘｽﾃﾞｰﾀ取得
測位演算に必要な最低衛星数（4衛星）分のｴﾌｪﾒﾘｽ
ﾃﾞｰﾀが無い場合

基準局GPSﾃﾞｰﾀをｴﾎﾟｯ
ｸﾃﾞｰﾀｴﾘｱに格納

複合航法
各ﾘﾝｸﾞﾊﾞｯﾌｧを空にする
測位演算（calc_process）

または
画面表示時刻1秒更新
ｱﾙﾏﾅｯｸﾃﾞｰﾀが無い場合
画面表示ﾃﾞｰﾀ計算

基準局GPSﾃﾞｰﾀをﾘﾝｸﾞﾊﾞｯﾌｧから取得
複合航法以外演算結果ﾌｧｲﾙ出力

移動局GPSﾃﾞｰﾀをﾘﾝｸﾞﾊﾞｯﾌｧから取得

GGAﾌｧｲﾙ出力
基準局GPSﾃﾞｰﾀをﾘﾝｸﾞﾊﾞｯﾌｧから取得
画面表示更新１

移動局GPSﾃﾞｰﾀをﾘﾝｸﾞﾊﾞｯﾌｧから取得
IMUｾﾝｻﾃﾞｰﾀをﾘﾝｸﾞﾊﾞｯ
ﾌｧから取得•RTK モード時各種データ取得処理
基準局GPSﾃﾞｰﾀをﾘﾝｸﾞﾊﾞｯﾌｧから取得

基準局の1ｴﾎﾟｯｸ
ﾃﾞｰﾀが未取得の場合基準局GPSﾃﾞｰﾀ時刻
作成

移動局GPSﾃﾞｰﾀをﾘﾝｸﾞﾊﾞｯﾌｧから取得
移動局の1ｴﾎﾟｯｸ
ﾃﾞｰﾀが未取得の場合

移動局GPSﾃﾞｰﾀ時刻
作成

ＩＭＵｾﾝｻﾃﾞｰﾀを破棄
移動局GPSﾃﾞｰﾀを破棄基準局GPSﾃﾞｰﾀ時刻＞
移動局GPSﾃﾞｰﾀ
時刻

初期化ﾌﾗｸﾞをON

ﾀｲﾏｲﾍﾞﾝﾄ起動

基準局GPSﾃﾞｰﾀ時刻＜
移動局GPSﾃﾞｰﾀ
時刻

基準局GPSﾃﾞｰﾀを破棄
初期化ﾌﾗｸﾞをON

複合ﾓｰﾄﾞ用各種ﾊﾟﾗﾒｰ
ﾀを初期化

ﾀｲﾏｲﾍﾞﾝﾄ起動
初期化ﾌﾗｸﾞをOFF
初期化ﾌﾗｸﾞがONの場合

ﾀｲﾏｲﾍﾞﾝﾄ起動

199

移動局GPSﾃﾞｰﾀをｴﾎﾟｯ
ｸﾃﾞｰﾀｴﾘｱに格納

各衛星のC1、L1、L2のいずれかが無い場合該当する衛星を削除する•

複合モード時各種データ取得処理
基準局GPSﾃﾞｰﾀをﾘﾝｸﾞﾊﾞｯﾌｧから取得

基準局の1ｴﾎﾟｯｸ
ﾃﾞｰﾀが未取得の場合基準局GPSﾃﾞｰﾀ時刻
作成
移動局GPSﾃﾞｰﾀをﾘﾝｸﾞﾊﾞｯﾌｧから取得

移動局の1ｴﾎﾟｯｸ
ﾃﾞｰﾀが未取得の場合

移動局GPSﾃﾞｰﾀ時刻
作成
IMUｾﾝｻﾃﾞｰﾀをﾘﾝｸﾞﾊﾞｯ
ﾌｧから取得IMUｾﾝｻﾃﾞｰﾀの1ｴ
ﾎﾟｯｸﾃﾞｰﾀが未取得の場合

移動局GPSﾃﾞｰﾀ時刻
からIMUｾﾝｻﾃﾞｰﾀ時刻
作成
IMUｾﾝｻﾃﾞｰﾀ時刻に１秒加算

１

基準局GPSﾃﾞｰﾀを破棄IMUｾﾝｻﾃﾞｰﾀ時刻＞
基準局GPSﾃﾞｰﾀ
時刻
移動局GPSﾃﾞｰﾀを破棄

２
変数初期化ﾌﾗｸﾞをON
IMUｾﾝｻﾃﾞｰﾀ、基準局GPSﾃﾞｰﾀ、移動局GPSﾃﾞｰﾀのいづれかのﾃﾞｰﾀが無い場合

ﾀｲﾏｲﾍﾞﾝﾄ起動

複合ﾓｰﾄﾞ用各種ﾊﾟﾗﾒｰ
ﾀ初期化IMUｾﾝｻﾃﾞｰﾀ時刻＞
移動局GPSﾃﾞｰﾀ
時刻
移動局GPSﾃﾞｰﾀを破棄基準局GPSﾃﾞｰﾀ
時刻＞
移動局GPSﾃﾞｰﾀ
時刻

基準局GPSﾃﾞｰﾀを破棄基準局GPSﾃﾞｰﾀ
時刻＜
移動局GPSﾃﾞｰﾀ
時刻１
初期化ﾌﾗｸﾞONの場合

３

IMUｾﾝｻﾃﾞｰﾀを破棄
IMUｾﾝｻﾃﾞｰﾀ時刻＜
基準局GPSﾃﾞｰﾀ
時刻

IMUｾﾝｻﾃﾞｰﾀを破棄
IMUｾﾝｻﾃﾞｰﾀ時刻＜
移動局GPSﾃﾞｰﾀ
時刻２

３
ﾀｲﾏｲﾍﾞﾝﾄ起動
次のIMUｾﾝｻﾃﾞｰﾀがない場合
移動局GPSﾃﾞｰﾀを破棄基準局GPSﾃﾞｰﾀ
時刻＞
移動局GPSﾃﾞｰﾀ
時刻

IMUｾﾝｻﾃﾞｰﾀのみある場合

基準局GPSﾃﾞｰﾀ
時刻≠
移動局GPSﾃﾞｰﾀ
時刻

基準局GPSﾃﾞｰﾀ、移動局GPSﾃﾞｰﾀを破棄

変数初期化ﾌﾗｸﾞをON

基準局GPSﾃﾞｰﾀを破棄IMUｾﾝｻﾃﾞｰﾀ時刻≠
基準局GPSﾃﾞｰﾀ
時刻

ﾀｲﾏｲﾍﾞﾝﾄ起動

IMUｾﾝｻﾃﾞｰﾀ時刻＞
基準局GPSﾃﾞｰﾀ
時刻
IMUｾﾝｻﾃﾞｰﾀを破棄
変数初期化ﾌﾗｸﾞをON

ﾀｲﾏｲﾍﾞﾝﾄ起動
基準局GPSﾃﾞｰﾀ、移動局GPSﾃﾞｰﾀを破棄

移動局GPSﾃﾞｰﾀがある場合

IMUｾﾝｻﾃﾞｰﾀ時刻＞
移動局GPSﾃﾞｰﾀ
時刻
IMUｾﾝｻﾃﾞｰﾀ時刻≠
移動局GPSﾃﾞｰﾀ
時刻

IMUｾﾝｻﾃﾞｰﾀを破棄
変数初期化ﾌﾗｸﾞをON

ﾀｲﾏｲﾍﾞﾝﾄ起動

200