(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024090939
(43)【公開日】2024-07-04
(54)【発明の名称】プログラム、方法、情報処理装置、システム
(51)【国際特許分類】
G01S 19/40 20100101AFI20240627BHJP
G01C 15/00 20060101ALI20240627BHJP
【FI】
G01S19/40
G01C15/00 102C
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022207140
(22)【出願日】2022-12-23
(71)【出願人】
【識別番号】500521522
【氏名又は名称】株式会社オプティム
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】長沼 俊介
(72)【発明者】
【氏名】久保 健太
【テーマコード(参考)】
5J062
【Fターム(参考)】
5J062BB08
5J062CC07
5J062FF01
5J062FF04
(57)【要約】
【課題】GNSSレシーバーにより測定された測定データを、当該測定データを受信する端末装置において真北を考慮して補正可能とする。
【解決手段】プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムである。プログラムは、プロセッサに、GNSS(Global Navigation Satellite System)レシーバーをポールの一端に設置し、ポールの他端を基準位置に固定させ、一端をそれぞれ異なる複数の方向へ傾けた際に、GNSSレシーバーで測定される複数の座標を取得するステップと、一端を複数の方向の少なくともいずれかへ傾けた際に、GNSSレシーバーで測定される第1回転行列を取得するステップと、複数の座標に基づき、一端を複数の方向の少なくともいずれかへ傾けた際の、基準となる第2回転行列を算出するステップと、第2回転行列と第1回転行列との差分から補正値を算出するステップとを実行させる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、前記プログラムは、前記プロセッサに、
GNSS(Global Navigation Satellite System)レシーバーをポールの一端に設置し、前記ポールの他端を基準位置に固定させ、前記一端をそれぞれ異なる複数の方向へ傾けた際に、前記GNSSレシーバーで測定される複数の座標を取得するステップと、
前記一端を複数の前記方向の少なくともいずれかへ傾けた際に、前記GNSSレシーバーで測定される第1回転行列を取得するステップと、
複数の前記座標に基づき、前記一端を複数の前記方向の少なくともいずれかへ傾けた際の、基準となる第2回転行列を算出するステップと、
前記第2回転行列と前記第1回転行列との差分から補正値を算出するステップと
を実行させるプログラム。
【請求項2】
複数の前記座標に基づき、前記ポールの長さを算出するステップと、
算出した前記ポールの長さと、実際の前記ポールの長さとの差が所定の条件を満たさない場合、補正値を再度取得することを提案するステップと
を前記プロセッサに実行させる請求項1記載のプログラム。
【請求項3】
複数の前記座標に基づき、前記ポールの長さを算出するステップと、
前記ポールの一端を複数の方向へ傾ける動作を実施することで前記補正値を複数回算出し、前記補正値を算出した際の前記ポールの長さと、実際の前記ポールの長さとの差が最小のときに算出した補正値を採用するステップと
を前記プロセッサに実行させる請求項1記載のプログラム。
【請求項4】
前記座標を取得するステップにおいて、前記一端を円を描くように動かした際の複数の座標を取得する請求項1記載のプログラム。
【請求項5】
前記座標を取得するステップにおいて、ポールを垂直に立てた状態、ポールの傾斜方向がそれぞれ略120度異なる状態での座標を取得する請求項1記載のプログラム。
【請求項6】
ポールは、所定の長さ以上である請求項1記載のプログラム。
【請求項7】
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、前記プログラムは、前記プロセッサに、
GNSS(Global Navigation Satelite System)レシーバーをポールの一端に設置し、前記ポールの他端を基準位置に固定させ、前記一端をそれぞれ異なる複数の方向へ傾けた際に、前記GNSSレシーバーで測定される複数の座標を取得するステップと、
前記一端を複数の前記方向の少なくともいずれかへ傾けた際に、前記GNSSレシーバーで測定される回転行列を取得するステップと、
複数の前記座標と、前記回転行列とに基づき、真北を考慮した、前記回転行列の補正値を算出するステップと
を実行させるプログラム。
【請求項8】
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、前記プロセッサが、
GNSS(Global Navigation Satellite System)レシーバーをポールの一端に設置し、前記ポールの他端を基準位置に固定させ、前記一端をそれぞれ異なる複数の方向へ傾けた際に、前記GNSSレシーバーで測定される複数の座標を取得するステップと、
前記一端を複数の前記方向の少なくともいずれかへ傾けた際に、前記GNSSレシーバーで測定される第1回転行列を取得するステップと、
複数の前記座標に基づき、前記一端を複数の前記方向の少なくともいずれかへ傾けた際の、基準となる第2回転行列を算出するステップと、
前記第2回転行列と前記第1回転行列との差分から補正値を算出するステップと
を実行する方法。
【請求項9】
制御部と、記憶部とを備える情報処理装置であって、前記制御部が、
GNSS(Global Navigation Satellite System)レシーバーをポールの一端に設置し、前記ポールの他端を基準位置に固定させ、前記一端をそれぞれ異なる複数の方向へ傾けた際に、前記GNSSレシーバーで測定される複数の座標を取得するステップと、
前記一端を複数の前記方向の少なくともいずれかへ傾けた際に、前記GNSSレシーバーで測定される第1回転行列を取得するステップと、
複数の前記座標に基づき、前記一端を複数の前記方向の少なくともいずれかへ傾けた際の、基準となる第2回転行列を算出するステップと、
前記第2回転行列と前記第1回転行列との差分から補正値を算出するステップと
を実行する情報処理装置。
【請求項10】
GNSS(Global Navigation Satellite System)レシーバーと、情報処理装置とを具備するシステムであって、前記情報処理装置は、
GNSSレシーバーをポールの一端に設置し、前記ポールの他端を基準位置に固定させ、前記一端をそれぞれ異なる複数の方向へ傾けた際に、前記GNSSレシーバーで測定される複数の座標を取得する手段と、
前記一端を複数の前記方向の少なくともいずれかへ傾けた際に、前記GNSSレシーバーで測定される第1回転行列を取得する手段と、
複数の前記座標に基づき、前記一端を複数の前記方向の少なくともいずれかへ傾けた際の、基準となる第2回転行列を算出する手段と、
前記第2回転行列と前記第1回転行列との差分から補正値を算出する手段と
を具備するシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置、システムに関する。
【背景技術】
【0002】
傾きセンサが内蔵されたGNSS装置が存在する(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1において、コンパスキャリブレーションについて説明されているが、特許文献1に記載のコンパスキャリブレーションでは、磁北に合わせるようにコンパスの調整を行っている。しかしながら、特許文献1では、真北を考慮したものになっていない。
【0005】
本開示の目的は、GNSSレシーバーにより測定された測定データを、当該測定データを受信する端末装置において真北を考慮して補正可能とすることにある。
【課題を解決するための手段】
【0006】
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムである。プログラムは、プロセッサに、GNSS(Global Navigation Satellite System)レシーバーをポールの一端に設置し、ポールの他端を基準位置に固定させ、一端をそれぞれ異なる複数の方向へ傾けた際に、GNSSレシーバーで測定される複数の座標を取得するステップと、一端を複数の方向の少なくともいずれかへ傾けた際に、GNSSレシーバーで測定される第1回転行列を取得するステップと、複数の座標に基づき、一端を複数の方向の少なくともいずれかへ傾けた際の、基準となる第2回転行列を算出するステップと、第2回転行列と第1回転行列との差分から補正値を算出するステップとを実行させる。
【発明の効果】
【0007】
本開示によれば、GNSSレシーバーにより測定された測定データを、端末装置において真北を考慮して補正可能となる。
【図面の簡単な説明】
【0008】
【
図1】システム1の全体構成の例を示すブロック図である。
【
図2】
図1に示すGNSSレシーバー20の構成例を表すブロック図である。
【
図3】
図1に示す端末装置10の構成例を表すブロック図である。
【
図4】本実施形態に係る端末装置10が補正値を算出する動作を表す模式図である。
【
図5】端末装置10が補正値を算出する際の動作の例を表すフローチャートである。
【
図6】端末装置10で表示されるガイド表示の例を表す模式図である。
【
図7】端末装置10で表示されるガイド表示のその他の例を表す模式図である。
【
図8】端末装置10で表示されるガイド表示の例を表す模式図である。
【
図9】コンピュータ90の基本的なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0009】
以下、図面を参照しつつ、本開示の実施形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0010】
<概略>
本実施形態に係る端末装置は、GNSSレシーバーを複数方向に位置させた際に測定される座標、回転行列に基づき、GNSSレシーバーで測定される回転行列を、真北を考慮して補正するための補正値を算出する。
【0011】
<1 システム全体の構成図>
図1は、システム1の全体構成の例を示すブロック図である。
図1に示すシステム1は、例えば、端末装置10、及びGNSSレシーバー20を含む。端末装置10とGNSSレシーバー20とは、例えば、所定の無線通信方式により接続されている。所定の無線通信方式は、例えば、Bluetooth(登録商標)、Wi-Fi(登録商標)等を含む。
【0012】
図1に示す端末装置10は、GNSSレシーバー20を用いて地形等を測位するユーザが操作する情報処理装置である。端末装置10は、例えば、スマートフォン、タブレット等の携帯端末により実現される。端末装置10は、据え置き型のPC(Personal Computer)、ラップトップPCであってもよい。端末装置10は、HMD(Head Mount Display)、腕時計型端末等のウェアラブル端末であってもよい。
【0013】
端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、ストレージ16と、プロセッサ19とを備える。入力装置13は、ユーザからの入力操作を受け付けるための装置(例えば、タッチパネル、タッチパッド、マウス等のポインティングデバイス、キーボード等)である。出力装置14は、ユーザに対して情報を提示するための装置(ディスプレイ、スピーカー等)である。
【0014】
GNSSレシーバー20は、GNSS(Global Navigation Satellite System:全球測位衛星システム)を使用した装置である。本実施形態では、GPS(Global Positioning System:全地球測位システム)を利用する場合を例に説明する。GNSSレシーバー20は、例えば、座標、及び回転行列を測定する。GNSSレシーバー20は、測定した座標及び回転行列に関するデータを、所定の周期で端末装置10へ送信する。
【0015】
GNSSレシーバー20は、ポール21に取り付けられている。ポール21は一端に平面部211が形成され、他端に接地部213が形成されている。平面部211は、ポール21の脚部212に対して垂直に設置されている。GNSSレシーバー20は、平面部211の略中心に取り付けられる。平面部211の略中心は、例えば、接地部213を通過する、脚部212の軸心の延長線上に位置する。ポール21の長さは、位置情報センサ205の誤差を補える程度の長さがあることが望ましい。ポール21の長さは、例えば、1m以上である。
【0016】
<1.1 GNSSレシーバーの構成>
図2は、
図1に示すGNSSレシーバー20の構成例を表すブロック図である。
図2に示すように、GNSSレシーバー20は、通信部201と、入力装置203と、出力装置204と、位置情報センサ205と、チルトセンサ206と、電子コンパス207と、記憶部208と、制御部209とを備える。GNSSレシーバー20に含まれる各ブロックは、例えば、バス等により電気的に接続される。
【0017】
通信部201は、GNSSレシーバー20が他の装置と通信するための変復調処理等の処理を行う。通信部201は、位置情報センサ205、チルトセンサ206、及び電子コンパス207で測定されたデータに送信処理を施し、端末装置10へ送信する。具体的には、例えば、通信部201は、例えば、位置情報センサ205、チルトセンサ206、及び電子コンパス207で測定されたデータを、近距離無線通信における所定のプロトコルに則った信号に変換する。通信部201は、変換した信号を端末装置10へ送信する。
【0018】
また、通信部201は、端末装置10から受信した信号に受信処理を施し、制御部209へ出力する。具体的には、通信部201は、例えば、端末装置10から送信される、GNSSレシーバー20を操作するための信号を受信し、受信した信号に受信処理を施す。より具体的には、通信部201は、例えば、端末装置10から送信される、GNSSレシーバー20の状態(モード)を切り替えるための信号を送信する。GNSSレシーバー20のモードは、例えば、第1モード、第2モード、第3モードがある。第1モードは、位置情報センサ205、チルトセンサ206、及び電子コンパス207により、測定を実施するモードである。第2モードは、真北を考慮した補正値を端末装置10で算出するためのモードである。第3モードは、チルトセンサ206、又は電子コンパス207のキャリブレーションを実施するためのモードである。
【0019】
入力装置203は、GNSSレシーバー20を操作するユーザが指示を入力するための装置である。入力装置203は、例えば、ボタン等により実現される。入力装置203は、ユーザから入力される指示を電気信号へ変換し、電気信号を制御部209へ出力する。なお、入力装置203には、例えば、外部の入力機器から入力される電気信号を受け付ける受信ポートが含まれてもよい。
【0020】
出力装置204は、GNSSレシーバー20を操作するユーザへ情報を提示するための装置である。出力装置204は、例えば、発光部、ディスプレイ、又はスピーカー等により実現される。発光部、ディスプレイ、又はスピーカーは、制御部209の制御に応じた情報を出力する。
【0021】
位置情報センサ205は、GNSSレシーバー20の位置を検出するセンサであり、例えば、GPSモジュールである。GPSモジュールは、衛星測位システムで用いられる受信装置である。衛星測位システムでは、少なくとも3個又は4個の衛星からの信号を受信し、受信した信号に基づいて、GPSモジュールが搭載されるGNSSレシーバー20の現在位置を検出する。位置情報センサ205は、例えば、制御部209からの指示に応じ、現在位置としての座標を検出する。位置情報センサ205は、座標として、例えば、(経度、緯度、楕円体高)を検出する。
【0022】
チルトセンサ206は、基準状態からの傾斜角を計測するセンサである。本実施形態では、チルトセンサ206は、例えば、加速度を計測可能な加速度センサを含み、重力加速度を計測して傾きを測定する。チルトセンサ206は、例えば、制御部209からの指示に応じ、傾きを測定する。チルトセンサ206は、斜角を計測可能であれば、加速度センサに限られず、例えば、ジャイロセンサを含んでいてもよい。
【0023】
電子コンパス207は、半導体を用いた方位センサであり、南北の地磁気を検出して方角を算出する。MR素子を使用したもの、又はGMR素子を使用したもの等、既知のいかなる技術を使用してもよい。
【0024】
記憶部208は、例えば、メモリ、及びストレージ等により実現され、GNSSレシーバー20が使用するデータ、及びプログラムを記憶する。また、記憶部208は、例えば、位置情報センサ205、チルトセンサ206、及び電子コンパス207で測定されたデータを記憶する。
【0025】
制御部209は、プロセッサが記憶部208に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部209は、GNSSレシーバー20の動作を制御する。制御部209は、プログラムに従って動作することにより、操作受付部2091と、送受信部2092と、測定制御部2093と、切替制御部2094と、提示制御部2095ととしての機能を発揮する。
【0026】
操作受付部2091は、入力装置203から入力される指示を受け付けるための処理を行う。
【0027】
送受信部2092は、GNSSレシーバー20が、端末装置10と、通信プロトコルに従ってデータを送受信するための処理を行う。具体的には、例えば、送受信部2092は、位置情報センサ205で測定された座標を端末装置10へ送信する。また、送受信部2092は、チルトセンサ206、及び電子コンパス207で測定されたデータに基づいて算出される、磁北に対するロール、ピッチ、ヨー(回転行列)を端末装置10へ送信する。磁北に対するロール、ピッチ、ヨーは、例えば、現状、磁北として設定されている方角に対するロール、ピッチ、ヨーと換言してもよい。例えば、送受信部2092は、測定されたデータを所定の周期で端末装置10へ送信する。また、送受信部2092は、GNSSレシーバー20から提供される情報を受信する。
【0028】
測定制御部2093は、位置情報センサ205、チルトセンサ206、及び電子コンパス207による測定を制御する。具体的には、例えば、測定制御部2093は、所定のモードにおいて、位置情報センサ205、チルトセンサ206、及び電子コンパス207による測定を制御する。より具体的には、例えば、測定制御部2093は、第1モードにおいて、位置情報センサ205、チルトセンサ206、及び電子コンパス207を制御する。また、例えば、測定制御部2093は、第2モードにおいて、位置情報センサ205、チルトセンサ206、及び電子コンパス207を制御する。また、例えば、測定制御部2093は、第3モードにおいて、チルトセンサ206、及び電子コンパス207を制御する。
【0029】
切替制御部2094は、GNSSレシーバー20のモードの切り替えを制御する。具体的には、例えば、切替制御部2094は、端末装置10からの信号に基づき、第1モード、第2モード、第3モードのうちいずれかを設定する。切替制御部2094は、入力装置203から入力されるユーザからの指示に基づき、モードを切り替えてもよい。
【0030】
提示制御部2095は、測定に関する情報を端末装置10のユーザに提示する。具体的には、例えば、提示制御部2095は、第1モードの測定に関する情報を通信部201を介して端末装置10へ送信し、端末装置10に当該情報を表示させる。また、例えば、提示制御部2095は、第2モードの測定に関する情報を通信部201を介して端末装置10へ送信し、端末装置10に当該情報を表示させる。また、例えば、提示制御部2095は、第3モードの測定に関する情報を通信部201を介して端末装置10へ送信し、端末装置10に当該情報を表示させる。
【0031】
また、提示制御部2095は、測定に関する情報をユーザに対して提示するため、出力装置204を制御する。具体的には、例えば、提示制御部2095は、設定されているモードが認識可能なように、出力装置204の出力を制御する。
【0032】
<1.2 端末装置の構成>
図3は、
図1に示す端末装置10の構成例を表すブロック図である。
図3に示すように、端末装置10は、通信部120と、入力装置13と、出力装置14と、音声処理部17と、マイク171と、スピーカー172と、カメラ160と、位置情報センサ150と、記憶部180と、制御部190とを備える。端末装置10に含まれる各ブロックは、例えば、バス等により電気的に接続される。
【0033】
通信部120は、端末装置10が他の装置と通信するための変復調処理等の処理を行う。通信部120は、制御部190で生成された信号に送信処理を施し、GNSSレシーバー20へ送信する。通信部120は、GNSSレシーバー20から受信した信号に受信処理を施し、制御部190へ出力する。
【0034】
入力装置13は、端末装置10を操作するユーザが指示、又は情報を入力するための装置である。入力装置13は、例えば、操作面へ触れることで指示が入力されるタッチ・センシティブ・デバイス131等により実現される。端末装置10がPC等である場合には、入力装置13は、リーダー、キーボード、マウス等により実現されてもよい。入力装置13は、ユーザから入力される指示を電気信号へ変換し、電気信号を制御部190へ出力する。なお、入力装置13には、例えば、外部の入力機器から入力される電気信号を受け付ける受信ポートが含まれてもよい。
【0035】
出力装置14は、端末装置10を操作するユーザへ情報を提示するための装置である。出力装置14は、例えば、ディスプレイ141等により実現される。ディスプレイ141は、制御部190の制御に応じた情報を表示する。ディスプレイ141は、例えば、LCD(Liquid Crystal Display)、又は有機EL(Electro-Luminescence)ディスプレイ等によって実現される。
【0036】
音声処理部17は、例えば、音声信号のデジタル-アナログ変換処理を行う。音声処理部17は、マイク171から与えられる信号をデジタル信号に変換して、変換後の信号を制御部190へ与える。また、音声処理部17は、音声信号をスピーカー172へ与える。音声処理部17は、例えば音声処理用のプロセッサによって実現される。マイク171は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部17へ与える。スピーカー172は、音声処理部17から与えられる音声信号を音声に変換して当該音声を端末装置10の外部へ出力する。
【0037】
カメラ160は、受光素子により光を受光し、撮影信号として出力するためのデバイスである。
【0038】
位置情報センサ150は、端末装置10の位置を検出するセンサであり、例えばGPSモジュールである。GPSモジュールは、衛星測位システムで用いられる受信装置である。衛星測位システムでは、少なくとも3個又は4個の衛星からの信号を受信し、受信した信号に基づいて、GPSモジュールが搭載される端末装置10の現在位置を検出する。位置情報センサ150は、端末装置10が接続する無線基地局の位置から、端末装置10の現在の位置を検出してもよい。
【0039】
記憶部180は、例えば、メモリ15、及びストレージ16等により実現され、端末装置10が使用するデータ、及びプログラムを記憶する。記憶部180は、例えば、GNSSレシーバー20から送信される、方位に関する情報を補正する際に使用する補正情報を記憶する。
【0040】
制御部190は、プロセッサ19が記憶部180に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部190は、端末装置10の動作を制御する。制御部190は、プログラムに従って動作することにより、操作受付部191と、送受信部192と、第1算出部193と、第2算出部194と、提示制御部195ととしての機能を発揮する。
【0041】
操作受付部191は、入力装置13から入力される指示を受け付けるための処理を行う。具体的には、例えば、操作受付部191は、タッチ・センシティブ・デバイス131等から入力される指示を受け付ける。
【0042】
また、操作受付部191は、マイク171から入力される音声指示を受け付ける。具体的には、例えば、操作受付部191は、マイク171から入力され、音声処理部17でデジタル信号に変換された音声信号を受信する。操作受付部191は、例えば、受信した音声信号を分析して所定の名詞を抽出することで、ユーザからの指示を取得する。
【0043】
送受信部192は、端末装置10が、GNSSレシーバー20と、通信プロトコルに従ってデータを送受信するための処理を行う。具体的には、例えば、送受信部192は、ユーザから入力された指示をGNSSレシーバー20へ送信する。また、送受信部192は、GNSSレシーバー20から提供される情報を受信する。例えば、送受信部192は、所定の周期でGNSSレシーバー20から送信される、測定に関するデータを受信する。
【0044】
第1算出部193は、GNSSレシーバー20での測定で取得されたデータに基づき、真北を考慮した補正値(オフセット値)を算出するための処理を行う。具体的には、第1算出部193は、例えば、第2モードにおいて測定されたデータに基づき、真北を考慮した補正値を算出する。
【0045】
さらに具体的には、第1算出部193は、接地部213を固定し、ポール21を垂直に立てた際に、位置情報センサ205により測定される座標を取得する。また、第1算出部193は、ポール21を複数方向に傾けた際に、それぞれの位置で位置情報センサ205により測定される座標を取得する。このとき、座標を取得する位置は、同一平面上に位置しない。第1算出部193は、取得した座標をECEF(Earth Centered, Earth Fixed:地球中心・地球固定直交座標系)に変換する。
【0046】
第1算出部193は、ポール21を複数方向に傾けた際に、それぞれの位置でチルトセンサ206、及び電子コンパス207により測定される、磁北に対するロール、ピッチ、ヨー(回転行列)を取得する。
【0047】
第1算出部193は、4つ以上の位置で取得したECEFの座標に基づき、定点の座標を算出する。このとき、第1算出部193は、定点と各位置との距離が、ポール21の長さと同一であることに基づき、定点の座標を算出する。第1算出部193は、定点の座標と、各位置の座標とから、ポール21の長さを算出する。
【0048】
第1算出部193は、所定の位置の座標と、定点の座標と、ポール21の長さとに基づき、基準となる回転行列を算出する。基準となる回転行列は、真北に対するロール、ピッチ、ヨーを表す。
【0049】
第1算出部193は、算出した、基準となる回転行列と、測定により得られた回転行列との差分を補正値(オフセット値)とする。第1算出部193は、算出した補正値を記憶部180に記憶する。
【0050】
ポール21の長さが既知である場合、第1算出部193は、算出したポール21の長さに基づき、補正値が正しく算出されたか否かを判断してもよい。具体的には、例えば、第1算出部193は、予め設定されているポール21の長さと、算出したポール21の長さとを比較し、差分が所定の条件を満たさない場合、GNSSレシーバー20を再度回転させる動作から処理をやり直させてもよい。
【0051】
また、第1算出部193は、補正値の算出を複数回実施し、予め設定されているポール21の長さと、算出したポール21の長さとの差分が最小になるときに算出された補正値を、記憶部180に記憶するようにしてもよい。
【0052】
また、ポール21の長さが既知である場合、第1算出部193は、ポール21の長さを算出しなくてもよい。上記においては、4つ以上の位置で取得したECEFの座標に基づいて定点の座標を算出していたが、ポール21の長さが既知である場合、算出に用いる座標の数を減らしても構わない。
【0053】
第2算出部194は、位置情報センサ205により検出された座標に基づき、接地部213により接地されている位置(接地点)の座標を算出する。具体的には、例えば、第2算出部194は、GNSSレシーバー20で測定されたロール、ピッチ、ヨー(回転行列)を取得する。第2算出部194は、記憶部180に記憶されている補正値を用い、ロール、ピッチ、ヨー(回転行列)の基準を真北に合わせる。第2算出部194は、ポール21の高さ(シフト量)に基づき、三角関数を用い、水平方向と垂直方向の傾斜補正量を算出する。第2算出部194は、位置情報センサ205により検出された座標に傾斜補正量を加えることで、接地点の座標を算出する。
【0054】
提示制御部195は、測定に関する情報をユーザに対して提示するため、出力装置14を制御する。具体的には、例えば、提示制御部195は、第1モードの測定に関する情報をディスプレイ141に表示させる。また、提示制御部195は、第2モードの測定に関する情報をディスプレイ141に表示させる。また、提示制御部195は、第3モードの測定に関する情報をディスプレイ141に表示させる。
【0055】
<2 動作>
真北を考慮した補正値を算出する際の端末装置10の動作について説明する。
【0056】
図4は、本実施形態に係る端末装置10が補正値を算出する動作を表す模式図である。端末装置10は、GNSSレシーバー20を複数方向に傾斜させた位置で測定されたデータに基づき、真北を考慮した補正値を算出し、算出した補正値を記憶部180に記憶する。
【0057】
図5は、端末装置10が補正値を算出する際の動作の例を表すフローチャートである。
【0058】
端末装置10を操作するユーザは、例えば、GNSSレシーバー20を用いて地形を測定するためのアプリを立ち上げる。当該アプリには、本実施形態に係る、真北を考慮した補正値を算出するキャリブレーションモードが存在する。ユーザは、端末装置10を操作し、このキャリブレーションモードにおける補正値の算出を指示する。
【0059】
ステップS11において、端末装置10は、端末装置10におけるキャリブレーションを実施する旨の指示をユーザから受け付ける。具体的には、例えば、端末装置10の制御部190は、操作受付部191により、端末装置10におけるキャリブレーションを実施する旨の指示を受け付ける。
【0060】
ステップS12において、端末装置10は、キャリブレーション時の測定をガイドする画像を表示する。具体的には、例えば、制御部190は、提示制御部195により、キャリブレーション時の測定で、ユーザが採るべき動作をディスプレイ141に表示させる。
【0061】
図6は、端末装置10で表示されるガイド表示の例を表す模式図である。
図6に示す例では、ウィンドウ1411、及び領域1412が表示されている。ウィンドウ1411は、ユーザが採るべき動作を文字で説明する。領域1412は、ユーザが採るべき動作を画像で表す領域である。ユーザは、領域1412で表示される画像を参照し、接地部213を固定し、ポール21を垂直に立てたり、ポール21を接地部213を固定したまま回転させたりする。ウィンドウ1411で表示される文字は、スピーカー172から音声で出力されてもよい。
【0062】
図7は、端末装置10で表示されるガイド表示のその他の例を表す模式図である。
図7に示す例では、GNSSレシーバー20を回転させるのではなく、所定の方向へ複数回傾けるようにしている。ユーザは、ディスプレイ141で表示される画像を参照し、接地部213を固定し、ポール21を垂直に立てたり、ポール21を接地部213を固定したまま指示の方向へ傾けたりする。ウィンドウ1411で表示される文字は、スピーカー172から音声で出力されてもよい。
【0063】
ステップS13において、端末装置10は、GNSSレシーバー20で測定されたデータを取得する。具体的には、例えば、制御部190は、送受信部192により、GNSSレシーバー20が各位置で測定した座標、及び回転行列を取得する。第1算出部193は、GNSSレシーバー20が測定した座標をECEFに変換する。本説明では、例えば、以下のデータを取得したとする。なお、ポール21の方向は大体の方向で構わない。
P1:ポール21を略垂直方向に立てた際のECEF座標系の座標
P2:ポール21を略北方向に傾けた際のECEF座標系の座標
P3:ポール21を略南西方向に傾けた際のECEF座標系の座標
P4:ポール21を略南東方向に傾けた際のECEF座標系の座標
α1:ポール21を略垂直方向に立てた際の回転行列
α2:ポール21を略北方向に傾けた際の回転行列
α3:ポール21を略南西方向に傾けた際の回転行列
α4:ポール21を略南東方向に傾けた際の回転行列
【0064】
ステップS14において、端末装置10は、定点の座標を算出する。具体的には、例えば、制御部190は、第1算出部193により、P1~P4に基づき、定点の座標を算出する。第1算出部193は、定点の座標P0を、例えば、ポール21の長さをLとした場合、以下の式に基づいて算出する。
L=|P1-P0|
L=|P2-P0|
L=|P3-P0|
L=|P4-P0|
【0065】
ステップS15において、第1算出部193は、ポール21の長さを算出する。具体的には、第1算出部193は、上記式に基づいて、長さLを算出する。第1算出部193は、いずれかの式により長さLを算出してもよいし、複数の長さLに基づいて長さLを算出してもよい。第1算出部193は、例えば、複数の長さLに統計的な手法を採用し、Lを算出してもよい。
【0066】
ステップS16において、第1算出部193は、真北を考慮した補正値を算出する。具体的には、第1算出部193は、以下の式に基づき、位置nの座標Pnと、定点の座標P0と、ポール21の長さLとに基づき、位置nにおいて基準となる回転行列βnを算出する。なお、nは、n番目の測定位置を表す。
Pn+Lβn=P0
βn=1/L(Pn)
【0067】
第1算出部193は、算出した回転行列βnと、位置nで測定された回転行列αnとの差から、シフト量としての補正値γを算出する。第1算出部193は、算出した補正値γを記憶部180に記憶する。
【0068】
ポール21の長さが既知である場合、第1算出部193は、算出したポール21の長さに基づき、補正値が正しく算出されたか否かを判断してもよい。具体的には、例えば、第1算出部193は、予め設定されているポール21の長さと、算出したポール21の長さとを比較し、差分が所定の条件を満たさない場合、例えば、差分が所定の範囲内でない場合、処理をステップS12に移行させる。ステップS12において、提示制御部195は、キャリブレーション時の測定で、ユーザが採るべき動作をディスプレイ141に表示させる。
【0069】
図8は、端末装置10で表示されるガイド表示の例を表す模式図である。
図8に示す例では、ウィンドウ1411、及び領域1412が表示されている。ウィンドウ1411は、ユーザが採るべき動作を文字で説明する。領域1412は、ユーザが採るべき動作を画像で表す領域である。ユーザは、領域1412で表示される画像を参照し、接地部213を固定し、ポール21を垂直に立てたり、ポール21を接地部213を固定したまま回転させる動作をもう一度繰り返す。ウィンドウ1411で表示される文字は、スピーカー172から音声で出力されてもよい。
【0070】
以上のように、上記実施形態では、端末装置10の制御部190は、第1算出部193により、GNSSレシーバー20をポール21の一端に設置し、ポール21の他端を基準位置に固定させ、一端をそれぞれ異なる複数の方向へ傾けた際の複数の座標を取得する。第1算出部193は、一端を第1方向へ傾けた際の第1回転行列を取得する。第1算出部193は、複数の座標に基づき、一端を前記第1方向へ傾けた際の、基準となる第2回転行列を算出する。第1算出部193は、第2回転行列と第1回転行列との差分から補正値を算出する。これにより、第1算出部193は、真北を取得しなくても、GNSSレシーバー20で測定された回転行列を補正するための補正値を高精度に算出することが可能となる。このため、第1算出部193は、GNSSレシーバー20で測定された回転行列の補正値を、簡単な動作で算出することが可能となる。
【0071】
したがって、本実施形態関わる端末装置10によれば、GNSSレシーバー20により測定された測定データを、当該測定データを受信する端末装置において真北を考慮して補正可能となる。
【0072】
また、上記実施形態では、第1算出部193は、複数の座標に基づき、ポール21の長さを算出する。第1算出部193は、算出したポール21の長さと、実際のポール21の長さとの差が所定の条件を満たさない場合、補正値を再度取得することを提案する。これにより、第1算出部193は、補正値に含まれる誤差が大きい可能性がある場合、補正値を算出し直すことが可能となり、正確な補正値を算出することが可能となる。
【0073】
また、上記実施形態では、第1算出部193は、複数の座標に基づき、ポール21の長さを算出する。第1算出部193は、ポール21の一端を複数の方向へ傾ける動作を実施することで補正値を複数回算出する。第1算出部193は、補正値を算出した際のポール21の長さと、実際のポール21の長さとの差が最小のときに算出した補正値を採用する。これにより、第1算出部193は、正確に算出された補正値を採用することが可能となる。
【0074】
また、上記実施形態では、第1算出部193は、ポール21の一端を円を描くように動かした際の複数の座標を取得する。これにより、第1算出部193は、ポール21を円を描くように動かすことのみで、真北を把握せずとも、補正値を算出することが可能となる。
【0075】
また、上記実施形態では、第1算出部193は、ポール21を垂直に立てた状態、ポール21の傾斜方向がそれぞれ略120度異なる状態での座標を取得する。これにより、第1算出部193は、ポール21を所定方向へ動かすのみで、真北を把握せずとも、補正値を算出することが可能となる。
【0076】
また、上記実施形態では、ポール21は、所定の長さ以上である。これにより、第1算出部193は、位置情報センサ205に誤差がある場合であっても、信頼性の高い補正値を算出することが可能となる。
【0077】
<変形例>
上記実施形態では、提示制御部195は、算出したポール21の長さをユーザに提示してもよい。ユーザは、算出した長さに違和感を有する場合、キャリブレーションを再度実行してもよい。
【0078】
<3 コンピュータの基本ハードウェア構成>
図9は、コンピュータ90の基本的なハードウェア構成を示すブロック図である。コンピュータ90は、プロセッサ91、主記憶装置92、補助記憶装置93、通信IF99(インタフェース、Interface)を少なくとも備える。これらはバスにより相互に電気的に接続される。
【0079】
プロセッサ91とは、プログラムに記述された命令セットを実行するためのハードウェアである。プロセッサ91は、演算装置、レジスタ、周辺回路等から構成される。
【0080】
主記憶装置92とは、プログラム、及びプログラム等で処理されるデータ等を一時的に記憶するためのものである。例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0081】
補助記憶装置93とは、データ及びプログラムを保存するための記憶装置である。例えば、フラッシュメモリ、HDD(Hard Disc Drive)、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0082】
通信IF99とは、有線又は無線の通信規格を用いて、他のコンピュータとネットワークを介して通信するための信号を入出力するためのインタフェースである。
ネットワークは、インターネット、LAN、無線基地局等によって構築される各種移動通信システム等で構成される。例えば、ネットワークには、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が含まれる。無線で接続する場合、通信プロトコルとして例えば、Z-Wave(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)等が含まれる。有線で接続する場合は、ネットワークには、USB(Universal Serial Bus)ケーブル等により直接接続するものも含む。
【0083】
なお、各ハードウェア構成の全部または一部を複数のコンピュータ90に分散して設け、ネットワークを介して相互に接続することによりコンピュータ90を仮想的に実現することができる。このように、コンピュータ90は、単一の筐体、ケースに収納されたコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0084】
<コンピュータ90の基本機能構成>
図9に示すコンピュータ90の基本ハードウェア構成により実現されるコンピュータの機能構成を説明する。コンピュータは、制御部、記憶部、通信部の機能ユニットを少なくとも備える。
【0085】
なお、コンピュータ90が備える機能ユニットは、それぞれの機能ユニットの全部または一部を、ネットワークで相互に接続された複数のコンピュータ90に分散して設けても実現することができる。コンピュータ90は、単一のコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0086】
制御部は、プロセッサ91が補助記憶装置93に記憶された各種プログラムを読み出して主記憶装置92に展開し、当該プログラムに従って処理を実行することにより実現される。制御部は、プログラムの種類に応じて様々な情報処理を行う機能ユニットを実現することができる。これにより、コンピュータは情報処理を行う情報処理装置として実現される。
【0087】
記憶部は、主記憶装置92、補助記憶装置93により実現される。記憶部は、データ、各種プログラム、各種データベースを記憶する。また、プロセッサ91は、プログラムに従って記憶部に対応する記憶領域を主記憶装置92または補助記憶装置93に確保することができる。また、制御部は、各種プログラムに従ってプロセッサ91に、記憶部に記憶されたデータの追加、更新、削除処理を実行させることができる。
【0088】
データベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブルと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル同士の関係を設定し、関連づけることができる。
通常、各テーブルにはレコードを一意に特定するためのキーとなるカラムが設定されるが、カラムへのキーの設定は必須ではない。制御部は、各種プログラムに従ってプロセッサ91に、記憶部に記憶された特定のテーブルにレコードを追加、削除、更新を実行させることができる。
【0089】
通信部は、通信IF99により実現される。通信部は、ネットワークを介して他のコンピュータ90と通信を行う機能を実現する。通信部は、他のコンピュータ90から送信された情報を受信し、制御部へ入力することができる。制御部は、各種プログラムに従ってプロセッサ91に、受信した情報に対する情報処理を実行させることができる。また、通信部は、制御部から出力された情報を他のコンピュータ90へ送信することができる。
【0090】
以上、本開示のいくつかの実施形態を説明したが、これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。
【0091】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
(付記1)
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、GNSS(Global Navigation Satellite System)レシーバーをポールの一端に設置し、ポールの他端を基準位置に固定させ、一端をそれぞれ異なる複数の方向へ傾けた際に、GNSSレシーバーで測定される複数の座標を取得するステップと、一端を複数の方向の少なくともいずれかへ傾けた際に、GNSSレシーバーで測定される第1回転行列を取得するステップと、複数の座標に基づき、一端を複数の方向の少なくともいずれかへ傾けた際の、基準となる第2回転行列を算出するステップと、第2回転行列と第1回転行列との差分から補正値を算出するステップと
を実行させるプログラム。
(付記2)
複数の座標に基づき、ポールの長さを算出するステップと、算出したポールの長さと、実際のポールの長さとの差が所定の条件を満たさない場合、補正値を再度取得することを提案するステップとをプロセッサに実行させる(付記1)に記載のプログラム。
(付記3)
複数の座標に基づき、ポールの長さを算出するステップと、ポールの一端を複数の方向へ傾ける動作を実施することで補正値を複数回算出し、補正値を算出した際のポールの長さと、実際のポールの長さとの差が最小のときに算出した補正値を採用するステップとをプロセッサに実行させる(付記1)に記載のプログラム。
(付記4)
座標を取得するステップにおいて、一端を円を描くように動かした際の複数の座標を取得する(付記1)に記載のプログラム。
(付記5)
座標を取得するステップにおいて、ポールを垂直に立てた状態、ポールの傾斜方向がそれぞれ略120度異なる状態での座標を取得する(付記1)に記載のプログラム。
(付記6)
ポールは、所定の長さ以上である(付記1)に記載のプログラム。
(付記7)
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、GNSSレシーバーをポールの一端に設置し、ポールの他端を基準位置に固定させ、一端をそれぞれ異なる複数の方向へ傾けた際に、GNSSレシーバーで測定される複数の座標を取得するステップと、一端を複数の方向の少なくともいずれかへ傾けた際に、GNSSレシーバーで測定される回転行列を取得するステップと、複数の座標と、回転行列とに基づき、真北を考慮した、回転行列の補正値を算出するステップとを実行させるプログラム。
(付記8)
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、プロセッサが、GNSSレシーバーをポールの一端に設置し、ポールの他端を基準位置に固定させ、一端をそれぞれ異なる複数の方向へ傾けた際に、GNSSレシーバーで測定される複数の座標を取得するステップと、一端を複数の方向の少なくともいずれかへ傾けた際に、GNSSレシーバーで測定される第1回転行列を取得するステップと、複数の座標に基づき、一端を複数の方向の少なくともいずれかへ傾けた際の、基準となる第2回転行列を算出するステップと、第2回転行列と第1回転行列との差分から補正値を算出するステップとを実行する方法。
(付記9)
制御部と、記憶部とを備える情報処理装置であって、制御部が、GNSSレシーバーをポールの一端に設置し、ポールの他端を基準位置に固定させ、一端をそれぞれ異なる複数の方向へ傾けた際に、GNSSレシーバーで測定される複数の座標を取得するステップと、一端を複数の方向の少なくともいずれかへ傾けた際に、GNSSレシーバーで測定される第1回転行列を取得するステップと、複数の座標に基づき、一端を複数の方向の少なくともいずれかへ傾けた際の、基準となる第2回転行列を算出するステップと、第2回転行列と第1回転行列との差分から補正値を算出するステップとを実行する情報処理装置。
(付記10)
GNSSレシーバーと、情報処理装置とを具備するシステムであって、情報処理装置は、GNSSレシーバーをポールの一端に設置し、ポールの他端を基準位置に固定させ、一端をそれぞれ異なる複数の方向へ傾けた際に、GNSSレシーバーで測定される複数の座標を取得する手段と、一端を複数の方向の少なくともいずれかへ傾けた際に、GNSSレシーバーで測定される第1回転行列を取得する手段と、複数の座標に基づき、一端を複数の方向の少なくともいずれかへ傾けた際の、基準となる第2回転行列を算出する手段と、第2回転行列と第1回転行列との差分から補正値を算出する手段とを具備するシステム。
【符号の説明】
【0092】
1…システム
10…端末装置
120…通信部
13…入力装置
131…タッチ・センシティブ・デバイス
14…出力装置
15…メモリ
16…ストレージ
19…プロセッサ
20…GNSSレシーバー